サポート » 使い方全般 » singleでthe_content()のみ重複

  • 解決済 RabbitK

    (@rabbitk)


    質問させて頂きます。

    single.phpのthe_content()で取得したコンテンツのみ重複されてしまいます。

    Source
    ———————————————————————————–

    <?php get_header(); ?>

    <div id=”main_container” class=”clearfix”>

    <?php if(have_posts()): while(have_posts()): the_post(); ?>

    <div class=”entry” id=”post-<?php the_ID(); ?>” <?php post_class(); ?>>
    <h2>“><?php the_title(); ?></h2>
    <span class=”eyecatch”><?php the_post_thumbnail(); ?></span>
    <p class=”state”>Posted <?php echo get_the_date(); ?><?php the_time(); ?> Category <?php the_category(‘, ‘); ?></p>

    <div class=”entry_main” style=”clear:both;”>

    <!–//すべての投稿でこの部分のみ重複されて表示//–>
    <?php get_template_part(‘content’,’single’); ?>
    <!–//すべての投稿でこの部分のみ重複されて表示//–>
    </div><!–entry_main–>

    <!–//pagenation//–>

    <div id=”navi” class=”clearfix”>
    <span class=”prev_nav”><?php previous_post_link(‘%link’, ‘<< Prev’); ?></span>
    <span class=”top_nav”>“>Top</span>
    <span class=”next_nav”><?php next_post_link(‘%link’, ‘Next >>’); ?></span>
    </div>

    </div><!–entry–>

    <?php
    //pagelink
    get_template_part(‘pagelink’);
    ?>

    <?php endwhile; else: ?>
    <p><?php echo(‘Sorry, no posts.’); ?></p>
    <?php endif; ?>

    <?php

    comments_template();

    ?>
    </div><!–main_container–>

    <?php get_sidebar(); ?>
    <?php get_footer(); ?>
    ———————————————————————————–

    二度表示されているので、二回取得しているので、Loopに問題があるのでしょうか?

    ご教授お願い致します。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • loopに問題がある場合にはタイトル~本文~ページングまでが重複しますので
    content-single.phpの方に問題があるのではないでしょうか

    ご回答ありがとうございます。

    content-single.php Source

    ———————
    <?php the_content();
    ———————

    そう思ったのですがこのTAGU一つしか記述していません。

    後自分で考えられる部分はfunctio.phpで設定してある部分に問題あるのでは?と思っているのですが、こちらでしょうか…。

    Source
    ——————————–

    //Tags
    function tags_after_single_post_content($content) {

    if( is_singular(‘post’) && is_main_query() ) {

    $tags = the_tags(‘<div class=”entry-meta”>Tags: ‘,’-‘,'</div>
    ‘);

    $content .= $content . $tags;
    }
    return $content;
    }

    add_filter( ‘the_content’, ‘tags_after_single_post_content’ );

    //Page
    function my_post_queries( $query ) {
    if ( is_admin() || ! $query->is_main_query() )
    return;
    //Article numbers

    if ( is_category() ) {
    $query->set(‘posts_per_page’, 10);
    return;
    }
    //Archive

    if ( $query->is_archive() ){
    $query->set(‘posts_per_page’, 20);

    }
    }
    add_action( ‘pre_get_posts’, ‘my_post_queries’ );

    ——————————————————–

    よろしくお願い致します。

    追記:

    single.php

    content-single.php

    共に<hr>を記述して動作確認しました。

    Pageの最下部に一つだけ表示され、Page編集で入力した部分のみ重複しています。

    追記:Editor入力部分のみの重複と判明致しました。

    the_content()の中身のみです。

    その他は問題有りません。

    お騒がせ致しました。

    the_content()

    get_the_content()

    に変更して、指定したところ問題なく動作するようになりました。

    お目通し、ご返答ありがとうございました。

    いや、すいません、解決してないです(汗

    とりあえずget_the_content()で対応ますが、the_content()での重複は解決していません。

    pre_get_posts()を外したら重複解除されましたので、pre_get_posts()のfilterがしっかりと動作していなかったと判明しました。

    ありがとうございました、今回本当。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「singleでthe_content()のみ重複」には新たに返信することはできません。