web-dev-qa-db-fra.com

Empêcher WordPress de charger des commentaires

J'affiche les commentaires d'une publication à ma façon, en utilisant $comm = get_comments(), puis en passant $comm à wp_list_comments() ( , c'est la raison pour laquelle ).

Comment désactiver WordPress pour ne pas charger les commentaires de la base de données dans $wp_query, lorsque le modèle de commentaire est affiché? Je demande ceci parce que je veux éviter cet appel de base de données supplémentaire, car je reçois moi-même les commentaires en utilisant la méthode ci-dessus.

PS: J'ai aussi remarqué que la variable globale $comments est un tableau contenant TOUS les commentaires d'un message, pas seulement ceux de la page de commentaires en cours. Si j'ai un message avec 10K commentaires, WP chargera tout cela en même temps? Semble ridicule ...

1
Alex

Vous ne pouvez pas empêcher comments_template() de faire une requête SQL. Eh bien, vous pourriez peut-être vous accrocher à la couche de base de données pour empêcher uniquement cette requête spécifique, mais cela serait très fastidieux. S'il s'agit d'un thème, vous pouvez simplement supprimer l'appel à comments_template() et le remplacer par votre propre fonction. comments_template() ne fait pas beaucoup : chargez tous les commentaires, peut-être aussi le commentaire que vous venez de soumettre s'il n'est pas encore approuvé, séparez-les en pings, rétroliens et commentaires réguliers si nécessaire, puis chargez le fichier de modèle de commentaires. La pagination des commentaires est relativement récente dans WordPress, elle n’est donc probablement pas aussi efficace qu’elle le pourrait encore.

0
Jan Fabry