J'utilise le plugin WordPress de Disqus. Lorsque la page n'est pas encore complètement chargée, il n'y a plus que le nombre de commentaires, mais après cela, Disqus auto ajoute la chaîne Comments à celle qui a l'air vraiment moche.
Du thème:
<div class="comment-bubble">
<a href="<?php the_permalink(); ?>#comments" class="comments-link"><?php comments_number('0', '1', '%'); ?></a>
</div>
Je ne pouvais pas comprendre ce qui n'allait pas.
Vous ne savez pas comment cela se comportera avec Disqus, mais essayez le filtre suivant:
add_filter( 'comments_number', 'comments_text_wpse_87886', 10, 2 );
function comments_text_wpse_87886 ( $output, $number )
{
return $number;
}
Le retour d'origine est $output
et, à la place, nous ne renvoyons que le nombre de commentaires. Ce filtre se produit dans la fonction core suivante , reproduite ici si vous souhaitez adapter le crochet de filtre précédent:
function comments_number( $zero = false, $one = false, $more = false, $deprecated = '' ) {
if ( !empty( $deprecated ) )
_deprecated_argument( __FUNCTION__, '1.3' );
$number = get_comments_number();
if ( $number > 1 )
$output = str_replace('%', number_format_i18n($number), ( false === $more ) ? __('% Comments') : $more);
elseif ( $number == 0 )
$output = ( false === $zero ) ? __('No Comments') : $zero;
else // must be one
$output = ( false === $one ) ? __('1 Comment') : $one;
echo apply_filters('comments_number', $output, $number);
}
Fondamentalement, il s’agit simplement d’une requête utilisant l’API HTTP WP utilisant ses fonctions . Quelque chose dans le genre de:
$response = wp_remote_get( $disqusURLwithArgs, array( /* API args */ ) );
// Additional checks like wp_remote_retrieve_resonse_code
// or wp_remote_retrieve_response_message
// and is_wp_error( $response )
$content = wp_remote_retrieve_body( $response );
var_dump( $content );
Les détails de telles demandes sont disponibles sur la page d’accueil Disqus .