web-dev-qa-db-fra.com

Comment afficher le nombre de commentaires Disqus uniquement sans texte?

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.

snapshot

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.

3
Tuan Anh Tran

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);
}

Connexes: Où mettre mon code: plugin ou functions.php?

2
brasofilo

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 .

2
kaiser