J'ai des fichiers dans mon thème appelés single-audio.php
et single video.php
, mais lorsque je clique sur un post-format audio ou vidéo au format post-format, wordpress utilise le index.php
au lieu de mes fichiers single-audio.php
ou single-video.php
. Des idées?
Il y a une énorme différence entre Formats de publication et Types de publication . Je suppose que vous utilisez des formats de publication qui ne possèdent pas de fichier de modèle par défaut.
Ce que vous pouvez faire, c’est utiliser has_post_format()
pour voir si le message a le format que vous utilisez, et si tel est le cas, utilisez get_template_part()
pour obtenir un fichier de modèle spécifique que vous avez créé pour y être affiché.
Par exemple:
// If this post has a post format of 'video'
if( has_post_format( 'video', $post->ID ) ) {
// Then get and display 'single-video.php'
get_template_part( 'single', 'video' );
}
Si vous voulez vraiment utiliser des fichiers uniques pour chaque type de post-format, essayez quelque chose comme ceci: (coller dans functions.php)
function post_format_template() {
global $post;
$format = get_post_format($post->ID);
if ( is_single() && $format ) {
include('single-format-'.$format.'.php');
exit;
}
}
add_action('template_redirect', 'post_format_template',10);
C'est une solution possible, mais je ne le recommanderais pas, tant que vous n'êtes pas sûr à 100% de ce que vous faites. Que se passe-t-il ici.
La réponse de Jared est la méthode recommandée pour traiter les post-formats.
Si je comprends bien votre question, vous devrez procéder comme suit:
HTH