Je tape simplement wp_list_comments () dans page.php mais rien n’est affiché. Mais si je place la balise comments_template () ici, le formulaire de commentaire, les commentaires et les pings sont affichés. Pourquoi est-ce, pourquoi ne puis-je pas utiliser wp_list_comments () dans page.php? Qu'est-ce que j'aurais pu faire de mal?
Vous devez inclure la fonctionnalité de commentaires via comments_template()
, car cette fonction n'inclut pas simplement le fichier comments.php
, mais gère également toutes les requêtes et fonctions requises pour l'affichage des commentaires.
Alors que le Codex n'entre pas vraiment dans les détails , vous pouvez voir en regardant la source , que se passe-t-il?
<?php
/**
* Loads the comment template specified in $file.
*
* Will not display the comments template if not on single post or page, or if
* the post does not have comments.
*
* Uses the WordPress database object to query for the comments. The comments
* are passed through the 'comments_array' filter hook with the list of comments
* and the post ID respectively.
*
* The $file path is passed through a filter hook called, 'comments_template'
* which includes the TEMPLATEPATH and $file combined. Tries the $filtered path
* first and if it fails it will require the default comment template from the
* default theme. If either does not exist, then the WordPress process will be
* halted. It is advised for that reason, that the default theme is not deleted.
*
* @since 1.5.0
* @global array $comment List of comment objects for the current post
* @uses $wpdb
* @uses $post
* @uses $withcomments Will not try to get the comments if the post has none.
*
* @param string $file Optional, default '/comments.php'. The file to load
* @param bool $separate_comments Optional, whether to separate the comments by comment type. Default is false.
* @return null Returns null if no comments appear
*/
?>
Essayez de joindre wp_list_comments () comme ceci:
<ol class="commentlist">
<?php wp_list_comments();?>
</ol>
comments_template () charge simplement comments.php, qui utilise wp_list_comments dans une classe CSS englobante.
HTH