konayuki
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: サイト内検索結果が表示されないフォーラム: 使い方全般
返信が含まれるトピック: メールからカスタム投稿タイプへ投稿したいフォーラム: 使い方全般
返信が含まれるトピック: サイト内検索で、カスタムタクソノミーの記事のみ出力ユーザーリビティを考慮した結果
2種類のフォームを作成するより、こちら一種類で纏める事にしました。フォーラム: 使い方全般
返信が含まれるトピック: サイト内検索で、カスタムタクソノミーの記事のみ出力gatespaceさん
ご連絡ありがとうございます。
すいません、コメントアウトを全く読んでいませんでした。
申し訳ないです。add_action( 'pre_get_posts', 'my_pre_get_posts' ); function my_pre_get_posts( $query ) { if ( is_admin() || ! $query->is_main_query() ) // ダッシュボード及びメインクエリ以外なら処理終了 return; if ( $query->is_search ) { // メインクエリが検索結果の場合 if ( 1 == $_GET["yogo"] ) { // yogo にチェックが入っていたら $query->set( 'post_type', 'glossary' ); // 対象を カスタム投稿タイプ hogepost のみにする } } }
これで目的の事ができました。
検索フォームのinputは
<form role="search" method="get" action="<?php echo esc_url( home_url( '/' ) ); ?>"> <input type="search" value="<?php echo esc_attr( get_search_query() ); ?>" name="s"> <input type="hidden" name="yogo" value="1"> <input type="submit" value="Search"> </form>
専用フォームなのでhiddenに変更しました。
ありがとうございましたー!
フォーラム: 使い方全般
返信が含まれるトピック: サイト内検索で、カスタムタクソノミーの記事のみ出力gatespaceさん
御連絡ありがとうございます。
functions.phpに書いてる部分一部抜粋します。function glossary(){ $labels = array( 'name' => _x('用語一覧', 'post type general name'), 'singular_name' => _x('用語', 'post type singular name'), 'add_new' => _x('用語追加', 'add_glossary'), 'add_new_item' => __('用語を追加'), 'edit_item' => __('用語を編集'), 'new_item' => __('新規用語'), 'view_item' => __('用語を表示'), 'search_items' => __('用語を検索'), 'not_found' => __('用語は見つかりませんでした'), 'not_found_in_trash' => __('ゴミ箱に用語はないです。'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => array('slug' => 'glossary', 'with_front' => false), 'capability_type' => 'page', 'hierarchical' => true, 'menu_position' => 5, 'supports' => array('title','editor','thumbnail','custom-fields','excerpt','revisions','page-attributes','comments','author'), 'has_archive' => true ); register_post_type('glossary',$args); // カスタムタクソノミーを作成 //カテゴリータイプ $args = array( 'label' => '用語カテゴリー', 'public' => true, 'show_ui' => true, 'hierarchical' => true, 'rewrite' => array('slug' => 'glossary/c', 'with_front' => false) ); register_taxonomy('glossary_category','glossary',$args); //タグタイプ $args = array( 'label' => '用語タグ', 'public' => true, 'show_ui' => true, 'hierarchical' => false, 'rewrite' => array('slug' => 'glossary/t', 'with_front' => false) ); register_taxonomy('glossary_tag','glossary',$args); }
このコードにgatespaceさんに教えていただいソースを貼り付けました。
フォーラム: 使い方全般
返信が含まれるトピック: サイト内検索で、カスタムタクソノミーの記事のみ出力gatespaceさん
御連絡ありがとうございます。ソースをコピペさせてもらったんですが、search.phpで表示がされなかったです。
何か他の原因でしょうか。。ありがとうございました。
フォーラム: 使い方全般
返信が含まれるトピック: サイト内検索で、カスタムタクソノミーの記事のみ出力kzさん、
御連絡ありがとうございます。カスタム投稿タイプ glossary
階層ありタクソノミー glossary_category
階層なしタクソノミー glossary_tag
↑
名称が間違っていました。
kzさんのいう設計でした。すいません。add_action( 'pre_get_posts', 'my_pre_get_posts' ); function my_pre_get_posts( $query ) { if ( is_admin() || ! $query->is_main_query() ) return; if ( $query->is_search ) { $query->set( 'tax_query', array( 'taxonomy' => 'glossary_tag', 'field' => 'slug', ) ); } }
↑
このソースで試したんですが、検索結果に反映されませんでした。
‘terms’部分を削除したのは、
単にglossary_tagの記事であれば、よかったので、削除しています。
ターム名には’A’から’Z’、’あ’から’ん’などあります。フォーラム: 使い方全般
返信が含まれるトピック: サイト内検索で、カスタムタクソノミーの記事のみ出力gatespaceさん、
ありがとうございます。ソースの意味と役割は、承知してるですが、
もう少し詳しくお伝えした方がいいと思ったので、背景を書かせてください。——————
カスタムタクソノミーで用語集を実装しています。
作成したカスタム名称は、
タクソノミー glossary
ターム glossary_category
ターム glossary_tag
——————それで、用語集専用検索フォームを作成して
このカスタム投稿の記事のみを出力したいと考えてます。上記のkzさんの教えていただいたソース部分、
“任意のキーワード”部分は、検索するワード毎に異なるので、
この部分は必要ないのではと思い、コメントアウトした次第です。フォーラム: 使い方全般
返信が含まれるトピック: サイト内検索で、カスタムタクソノミーの記事のみ出力kzさん
先ほど教えていただいたソースの部分で
>if ( ‘任意のキーワード’ == $query->get( ‘s’ ) ) {
↑
任意のキーワードしたいので、この部分はコメントアウトにしたんですが、
それでも結果は変わらないです。。フォーラム: 使い方全般
返信が含まれるトピック: サイト内検索で、カスタムタクソノミーの記事のみ出力御連絡ありがとうございます。
早速functios.phpに記述しましたが動きませんでした。現在検索フォームは以下のように記述していますが、
上記のソースと関連性をどのようにしたらいいのでしょうか?
それともfunctions.phpに記述する事で自動で関連されてるのでしょうか??<form action=”<?php echo home_url(); ?>” method=”get”>
<input type=”text” name=”s” />
<input type=”submit” value=”検索” />
</form>フォーラム: 使い方全般
返信が含まれるトピック: サイト内検索結果が表示されないgogowebさん、nobitaさん
ありがとうございます。
serach.phpファイルがなかったようです。ありがとうございました。
フォーラム: 使い方全般
返信が含まれるトピック: サイト内検索結果が表示されない結果を表示するにはどうしたらいいでしょうか、
どなたか教えていただけないでしょうか。フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿のカスタムカテゴリの表示方法