web-dev-qa-db-fra.com

get_template_part à l'intérieur de get_template_part?

Jamais essayé ça?

// template file
do_action( 'my_hook' );

// ex. functions.php
function my_hooked_template_part() {
  get_template_part( 'my_loop_part_file', 'default' );
}
add_action( 'my_hook', 'my_hooked_template_part' );

// my_loop_part_file-default.php
get_template_part( 'query', 'default' );
if ( have_posts() ) {
while ( have_posts() ) : the_post();
etc.

// query-default.php
get_posts( array( 'whatever' => 'and_so_on', ) );

Peut-être que c'est ma configuration, mais cela ne chargera pas le fichier. Se pourrait-il qu'il soit trop tard pour charger un autre fichier à l'intérieur? Quelqu'un peut-il confirmer ou est-ce simplement un inconvénient d'utiliser la fonction get_template_part () (un seul fichier - pas d'imbrication)?

3
kaiser

Si vos commentaires dans le code ci-dessus reflètent les noms de fichiers, il s'agit d'une erreur tiret contre soulignement.
Le nom du deuxième fichier inclus devrait être query-default.php

1
Michal Mau

À partir du codex get_template_part :

<?php get_template_part( 'loop', 'index' ); ?>

fera un PHP require () pour le premier fichier existant ...

Il devrait donc s'agir d'une require standard que vous pouvez placer n'importe où.

0
icc97