How to show Disqus comment count number only without text?

I’m using Disqus WordPress plugin. When the page is not fully loaded yet, there’s only comment count but after that Disqus auto appends the string Comments to that which looks really ugly.

snapshot

Read More

From the theme:

    <div class="comment-bubble">
      <a href="<?php the_permalink(); ?>#comments" class="comments-link"><?php comments_number('0', '1', '%'); ?></a>
    </div>

I couldn’t figure out what went wrong.

Related posts

Leave a Reply

2 comments

  1. Not sure how it’ll behave with Disqus, but try the following filter:

    add_filter( 'comments_number', 'comments_text_wpse_87886', 10, 2 );
    
    function comments_text_wpse_87886 ( $output, $number )
    {
        return $number;
    }
    

    The original return is $output, and instead we are returning only the number of comments. That filter happens in the following core function, reproduced here if you want to adapt the previous filter hook:

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

    Related: Where to put my code: plugin or functions.php?

  2. Basically it’s just a request using the WP HTTP API using its functions. Something along the lines of:

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

    Details for such requests can be found on the Disqus homepage.