現在、wordpress勉強の一環でで検索フォームを作っているものです。
インターネットにあるcodeを使い以下二つのファイルを作成したのですが
search.php
<form id="s-form" method="get" action="<?php echo home_url( '/' ); ?>"> <input id="s-box" name="s" type="text" placeholder="キーワードを入力"/> <button type="submit" id="s-btn">検索</button> </form>
searchform.php
<?php if ( have_posts() ) : ?> <p><?php printf( '"' . get_search_query() . '"' . __( 'の検索結果 - ' ) . $wp_query->found_posts . __('件')); ?></p> <?php while ( have_posts() ) : the_post(); ?> <!-- post --> ループ処理 <!-- /post --> <?php endwhile; else: ?> <p>検索キーワードに該当する記事がありませんでした。</p> <?php endif; ?>
画面では
このような感じになります。
「記事」と検索すると上記の結果5件というものが出てくれました。
しかし、記事以外にもwebサイトの本文で書いているキーワードを打つと
該当がありませんと出てしまいます。
そこで、お聞きしたいこととしては、この検索結果はどのような条件のもと、検索結果を出力しているのでしょうか。
また
<!-- post --> ループ処理 <!-- /post -->
の中に書いたものとして
<section> <?php get_template_part('template-parts/breadcrumb'); ?> <div class="sectionwrapper"> <h2>詳細一覧<?php echo CFS()->get('s_title1');?></h2> <ul> <?php $args = array( 'post_type' => 'morelist', //カスタム投稿タイプ名 'posts_per_page' => 3, // 表示件数 'paged' => $paged, ); ?> <?php $myposts = new WP_Query($args); if($myposts->have_posts()): while($myposts->have_posts()): $myposts->the_post(); $c = get_post_custom(); ?> <li class="newslist01"> <?php the_time('Y.m.d');?>/<span class="nlspan"><?php the_title(); ?></span> </li> <?php endwhile; endif;?> </ul> </div> </section>
記事投稿の部分を入れたのですが
記事、と検索すると、同じ記事の内容が何故か5件に複製されて出てきました。一件しか書いてないので一つでいいのですが、、
これが何故起きているのか、原因を教えていただけると幸いです。稚拙な文章の書き方ですみません。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/30 11:11