サポート » 使い方全般 » トップページのみ10件ほどあるコメントが表示されません。

  • 解決済 eijiy

    (@eijiy)


    ajax(非同期通信)なwpで、トップページのみ10件ほどあるコメントが表示されません。ただし最初にサイトにアクセスする時は同期通信なので(多分)、理由はよく分りませんがコメントが表示されます。

    上記に関連して、サイドバーに表示しているコメントのリンクをクリックした時に、そのコメントを含む記事のページを開いてコメントの位置へスクロールする様にしていますが、トップページに含まれるコメントのみそれを含む記事のページ(トップページ)を開く事は出来てもコメントは表示されません。

    コメントの表示はcomments_template()で、以下の様にしています。

    index.php, page.php, single.php ループ外

    <?php endwhile; ?>
    
    	<?php else : ?>
    
            <h2 class="title">記事が見つかりませんでした。</h2>
            <p>検索で見つかるかもしれません。</p><br />
    		<?php get_search_form(); ?>
    
        <?php endif; ?>
    
        <?php comments_template(); ?>
    
        </div><!-- /#main -->

    以下はsidebar.phpの最新のコメント10件。
    echo comment_get();
    functions.php

    function comments_get() {
           global $wpdb;
           $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
           comment_post_ID, comment_author, comment_date_gmt, comment_approved,
           comment_type,comment_author_url,
           SUBSTRING(comment_content,1,30) AS com_excerpt
           FROM $wpdb->comments
           LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
           $wpdb->posts.ID)
           WHERE comment_approved = '1' AND comment_type = '' AND
           post_password = ''
           ORDER BY comment_date_gmt DESC
           LIMIT 10";
           $comments = $wpdb->get_results($sql);
           $output .= "\n<ul>";
           foreach ($comments as $comment) {
           $output .= "\n<li>".strip_tags($comment->comment_author)
           .": " . "<a href=\"" . get_permalink($comment->ID) .
           "#comment-" . $comment->comment_ID . "\" title=\"on " .
           $comment->post_title . "\">" . strip_tags($comment->com_excerpt)
           ."</a></li>";
           }
           $output .= "\n</ul>";
           echo $output;
    }

    と、こんな感じで、まだajaxなwpの完成には程遠い状態で見苦しい点も多いと思いますが、宜しければ実際にご覧になって、どうしてトップページだけコメントが表示されないのか、どなたかご説明いただけないでしょうか。

    宜しくお願い致します。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 eijiy

    (@eijiy)

    毎度お騒がせしております。

    自己解決しました。

    foreach( $pages as $post ) : setup_postdata( $post );
    
    			echo '<div class="post"><div class="titleinfo"><h1 class="title">';
    			echo $post->post_title;
    			echo '</h1>';
    			if ( $data == "5" || $data == "40" ) {
    				echo '<span>';
    				echo comments_number( 'No Comment', '1 Comment', '% Comments' );
    				echo '</span>';
    			}
    			echo '</div><br class="clear" />';
    
    			$content = $post->post_content;
    			$content = apply_filters( 'the_content', $content );
    			$content = str_replace( ']]>', ']]>', $content );
    			echo $content.'</div>';
    
    			if ( $data == "5" || $data == "40" ) {
    				echo comments_template();
    			}
    
    		endforeach;

    pageの情報が取得出来ていなかったので、setup_postdata( $post );を追加しました。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「トップページのみ10件ほどあるコメントが表示されません。」には新たに返信することはできません。