Комментарии против Отклики на следующую страницу выпуска


У меня действительно досадная проблема.

Если комментариев нет, комментарии не будут отображаться. Если нет откликов, он не появится.

Однако, если есть отклики, и у меня много комментариев, поэтому есть страница 2, страница 3 и т. Д. Комментариев, То происходит следующее: Отклики отображаются правильно на странице 1. Если я перейду на страницу 2, я увижу HTML-разметку для обратных ссылок, но никаких фактических обратных ссылок.

Я не понимаю почему?. Я хочу, чтобы либо появлялись те же отклики, что и на странице 1, либо вообще отсутствовала разметка HTML (и никаких пингов).

Вы можете увидеть проблему здесь. На первой странице все работает нормально, но на странице 2 я получаю только HTML-разметку для откликов.

Вот код:

<?php if ( have_comments() ) : ?>
        <?php if ( ! empty($comments_by_type['comment']) ) : ?>
       <h2 class="h2comments"><img src="http://zoomingjapan.com/wp-content/themes/alltuts-child/images/comments_big.png" /><?php comments_number('No Comments', '1 Comment', '% Comments' );?> <a href="#respond" class="addComment"><img src="http://zoomingjapan.com/wp-content/themes/alltuts/images/add_your_coment_ver2.png" border="0"></a></h2>


        <ul class="commentlist">
      <?php wp_list_comments('type=comment&callback=mytheme_comment'); ?>
<div class="navigation">
  <?php paginate_comments_links(); ?> 
 </div>
        </ul>
        <?php endif; ?>



        <?php if ( ! empty($comments_by_type['pings']) ) : ?>
        <h2 id="pings">Trackbacks/Pingbacks</h2>
    <ul class="pinglist">
    <?php wp_list_comments('type=pings&callback=list_pings'); ?>
        </ul>
        <?php endif; ?>



 <?php else : // this is displayed if there are no comments so far ?>

        <?php if ('open' == $post->comment_status) : ?>
                <!-- If comments are open, but there are no comments. -->

        <?php else : // comments are closed ?>
                <!-- If comments are closed. -->
                <p class="nocomments">Comments are closed.</p>

        <?php endif; ?>
<?php endif; ?>

Что я уже пытался, так это изменить положение или даже удалить навигацию. Это ничего не изменило.

Есть еще какие-нибудь идеи?

РЕДАКТИРОВАТЬ: 21 октября

Если это не сработает, чтобы удалите разметку HTML, а затем как насчет отображения сообщения в разметке HTML вместо этого, что-то вроде "Извините, но пока нет сообщений". Я пробовал это, но ничего не отображается:

  <?php if ( ! empty($comments_by_type['pings']) ) : ?>
    <h2 id="pings">Trackbacks/Pingbacks</h2>
    <ul class="pinglist">
    <?php wp_list_comments('type=pings&callback=list_pings'); ?>
    </ul>
    <?php 
         else :
         echo '<p class="no-pingbacks">sorry but there are no pingbacks yet</p>';
        endif; 
         ?> 

Я надеюсь, что кто-нибудь сможет помочь.

Author: japanworm, 2011-10-17

2 answers

Поскольку вы перечисляете пинги отдельно от комментариев, вам, вероятно, потребуется отфильтровать get_comments_number, чтобы исключить пинги. Вот как я это делаю:

<?php
function oenology_comment_count( $count ) {  
// Only filter the comments number
// in the front-end display
if ( 
// WordPress conditional that returns true if
// the current page is in the WP-Admin back-end
! is_admin() 
) {
    global $id;
    $comments_by_type = &separate_comments( get_comments( 'status=approve&post_id=' . $id ) );
    return count( $comments_by_type['comment'] );
} 
// Otherwise, when in the WP-Admin
// back end, don't filter comments
// number
else {
    return $count;
}
}
// Hook custom comment number into 'get_comments_number'
add_filter('get_comments_number', 'oenology_comment_count', 0);
?>

Я совершенно уверен, что это также повлияет на количество комментариев в отношении разбиения комментариев на страницы. (Предостережение: ваш список пингов будет выводить без пометки.)

 1
Author: Chip Bennett, 2011-10-17 16:05:03

Я столкнулся с той же проблемой. Похоже, я решил эту проблему. На случай, если кто-то еще столкнется с этой проблемой:

Замените это:

wp_list_comments('type=pings&callback=list_pings');

Этим:

wp_list_comments('type=pings&callback=list_pings&page=1&per_page=1000');
 0
Author: Krishna Kant Sharma, 2012-04-26 07:26:25