J'ai un type personnalisé de "compétitions". Afin de personnaliser l'affichage de ce CPT dans, par exemple, les listes de catégories, je procède comme suit:
category-competitions.php
content-competitions.php
get_template_part('content-competitions', get_post_format() )'
Cela fonctionne, mais je ne suis pas sûr que ce soit la bonne méthode. Est-il nécessaire d'inclure l'ensemble du fichier category-competitions.php
pour modifier cette ligne ou existe-t-il une méthode intégrée permettant d'y parvenir qui me manque?
Ce que vous avez fait comprendra content-competitions-<post-format>.php
. Je ne sais pas si c'est ce que vous voulez, mais c'est correct en ce qui concerne la structure.
Je ne sais pas non plus ce que vous entendez par "modifier cette ligne", mais get_template_part
utilisera les deux paramètres pour créer un nom/chemin de fichier. Par conséquent, vous devez absolument tous les inclure. Regardez le explication dans le Codex :
<?php get_template_part( 'loop', 'index' ); ?>
fera un PHP
require()
pour le premier fichier existant parmi ceux-ci, dans cette priorité:wp-content/themes/twentytenchild/loop-index.php wp-content/themes/twentyten/loop-index.php wp-content/themes/twentytenchild/loop.php wp-content/themes/twentyten/loop.php
Ce que vous obtenez avec get_template_part
est
Ou ...
... si rien n'a été trouvé avec le second paramètre.
Il n'y a pas de raccourci. WordPress ne peut pas deviner quel fichier vous souhaitez inclure.
Si vous pouviez nommer vos fichiers avec quelque chose comme postformat.php
, vous pourriez vous en tirer en utilisant uniquement le premier paramètre:
get_template_part( get_post_format() );
Je ne sais pas si c'est une possibilité, car ce fichier post-format.php
serait utilisé pour toute publication ayant ce format.