• 解決済 evolutionf5

    (@evolutionf5)


    お世話になります。wordpress標準のサイト内検索機能を適応していて、
    検索結果では127件ヒットするのに、ヒットした記事一覧を表示させると
    20件で止まってしまいます。コードは以下のとおりで、他のサイトでは
    まったく同じコードで、ヒット件数分全て表示されるのになぜか全件表示
    されません。

    wordpressの設定にある1ページの表示件数も50件となっていますが、
    何が原因かご教授いただけますでしょうか?

    ■各ページの検索部
    <form id=”searchform” action=”<?php bloginfo(‘home’); ?>” method=”get”>
    <input class=”serachbox” type=”text” name=”s” id=”s”>
    <input type=”image” src=”<?php echo home_url(‘/img/common/headbtn_search.jpg’); ?>” width=”44″ height=”21″ id=”searchsubmit” value=”Search” />
    </form>

    ■search.php
    <h2>検索結果</h2>
    <?php $allsearch =& new WP_Query(“s=$s&posts_per_page=-1”);
    $key = wp_specialchars($s, 1);
    $count = $allsearch->post_count;
    if($count!=0){
    // 検索結果を表示:該当記事あり
    echo ‘<div class=”search_result”>“‘.$key.’”で検索した結果、‘.$count.’件の記事が見つかりました</div>’;
    }
    else {
    // 検索結果を表示:該当記事なし
    echo ‘<div class=”search_result”>“‘.$key.’”で検索した結果、関連する記事は見つかりませんでした。他のキーワードで検索してください。</div>’;
    }
    ?>

    <?php if(have_posts()): while(have_posts()): the_post(); ?>
    <dl class=”search_title”>
    <dt>“><?php $title= mb_substr($post->post_title,0,30); echo $title; ?></dt>
    <dd><?php echo mb_substr(get_the_excerpt(), 0, 200); ?></dd>
    <dl>
    <?php endwhile; endif; ?>
    <div class=”mt20 clearfix”><?php if(function_exists(‘wp_pagenavi’)) {
    wp_pagenavi();
    } ?>

    以上よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • gblsm

    (@gblsm)

    コードは以下のとおりで、他のサイトではまったく同じコードで、ヒット件数分全て表示されるのになぜか全件表示されません。

    他のサイトとの違いをもっと確かめてはどうでしょう。例えばプラグイン(有効になっているもの、それぞれの設定内容)。pre_get_posts フックに何か add_action されているのかも。

    トピック投稿者 evolutionf5

    (@evolutionf5)

    両方ともオリジナルのカスタムテーマで、プラグイン等基本設定はまったく同じなサイトでして、唯一違うのが設置サーバーだけなのですが、プラグインを一度全て無効にし、テンプレートはサーバーから一度全部削除した上で改めてアップロード、その後プラグイン有効で正常に表示されるようになりました。

    直接これが原因!と判明しませんでしたが、とりあえず解決しましたので解決済みとさせていただきます。

    gblsmさん、ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「WordPress純正の検索結果表示について」には新たに返信することはできません。