解決済検索結果にカスタム投稿記事一覧を表示したい
-
投稿者投稿
-
2021年10月5日 4:26 PM #95163kennykenny参加者
————-
WordPress のバージョン: 5.8.1
Welcart のバージョン: 2.3.1
PHP のバージョン:7.4
Welcart専用の拡張プラグインとバージョン:WCEX DL Seller3.1.3、WCEX SKU Select2.2.1
ご利用のテーマ:WelcartBasic
サーバー【重要】:エックスサーバー/ビジネスプラン
————-カスタム投稿記事で商品案内ページを作成し、カートに入れるボタンをショートコードで配置しています。
キーワード検索した際に、このカスタム投稿記事一覧を検索結果として表示したいのですが、検索結果に表示されません。。まずWelcartBasicのよくあるお問い合わせにある通り、商品以外も検索されるようにする方法を確認しました。
https://www.welcart.com/docs/themes/welcart_basic/faq.html次に下記のサイトを参考に、検索結果一覧にカスタム投稿を含めるようにしました。
https://cravelweb.com/webdesign/wp-customize/post-3803以上のことからfunction.phpに書き込んだのは下記のとおりです。
//検索対象をリセット add_action( 'after_setup_theme', 'my_remove_search' ); function my_remove_search() { remove_action( 'pre_get_posts', 'welcart_basic_query' ); } //検索結果にカスタム投稿(custom)含める function include_custom_post_search($query) { if ($query->is_search() && $query->is_main_query() && ! is_admin()) { $query->set('post_type', array('post', 'page', 'custom')); } return $query; } add_filter('pre_get_posts', 'include_custom_post_search' , 10 , 1);
search.php には下記のように書き込んでいます。
<?php if( have_posts() ):while( have_posts() ):the_post(); ?> <?php if( usces_is_item() ): ?> <?php else: ?> ~ 商品以外のカスタム投稿記事ページ ~ <?php endif; ?> <?php endwhile; else: ?> <p><?php echo __('No posts found.', 'usces'); ?></p> <?php endif; ?>
検索窓は下記のようにしています。
<form method="get" id="testSearch" action="<?php echo home_url('/'); ?>"> <input type="text" name="s" id="testSearchInput" value="<?php the_search_query(); ?>" placeholder="キーワード検索" /> <input type="hidden" name="post_type" value="custom"> <input type="submit" value="search" accesskey="f" /> </form>
何かヒントだけでもいただけると助かります。m(_ _)m
2021年10月8日 9:11 AM #95172sagawaキーマスターこんにちは。
記載のコードで取得できましたので、
・カスタム投稿のスラッグが正しくない
・search.phpの記述により表示されない
可能性が高いのではないかと思います。なお、今回は検索結果一覧にカスタム投稿を含んでいるかどうかの動作確認のため、3つめのサーチボックスは編集していない状態です。
2021年10月8日 11:49 AM #95175sagawaキーマスター追記です。
もし、プラグインを利用してカスタム投稿を追加しているのであれば、プラグインの設定で「検索から除外する」といった設定歩かないか、また、適用されていないかをご確認ください。
2021年10月8日 6:10 PM #95176kennykenny参加者ご回答いただき、ありがとうございます。
・カスタム投稿はプラグイン「Custom Post Type UI」を使っていて、「投稿タイプスラッグ」に誤りはありませんでした。
・プラグインの設定で、「検索から除外」は「偽」になっていました。(これは試しに真に切り替えても結果は変わりませんでした)
・’post’, ‘page’, ‘custom’を対象としていますが、「投稿」記事だけ検索結果に表示して、カスタム投稿は表示されません。
・たくさんヒットするキーワードで検索すると、白紙のままページャーは出てくるので、拾えているけど表示できていないかと思い、search.php のループ内に「<p>テスト</p>」のように文字を置いても表示されませんでした。現状、こんな感じですが、引き続きいろいろ試してみます。。
また何かヒントいただけると大変助かります。m(_ _)m2021年10月12日 4:47 PM #95185kennykenny参加者いろいろやってみましたがうまくいかず、結局「WP Extended Search」というプラグインに頼ることにしました。
<参考>https://fractales.jp/wordpress/102/
こちらで思い通りの結果が得られましたので、解決済みということでお願いします。
ありがとうございました。2021年10月12日 6:30 PM #95189sagawaキーマスターこんにちは。
ご報告と情報のご提供ありがとうございます。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。