フォーラムへの返信

13件の返信を表示中 - 1 - 13件目 (全13件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: サイト内検索結果が表示されない
    トピック投稿者 konayuki

    (@konayuki)

    上手く表示できました。こちらも参考にさせていただきました。

    フォーラム: 使い方全般
    返信が含まれるトピック: メールからカスタム投稿タイプへ投稿したい
    トピック投稿者 konayuki

    (@konayuki)

    サポート外なんですねー。。。

    情報ありがとうございました。

    トピック投稿者 konayuki

    (@konayuki)

    ユーザーリビティを考慮した結果
    2種類のフォームを作成するより、こちら一種類で纏める事にしました。

    トピック投稿者 konayuki

    (@konayuki)

    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に変更しました。

    ありがとうございましたー!

    トピック投稿者 konayuki

    (@konayuki)

    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さんに教えていただいソースを貼り付けました。

    トピック投稿者 konayuki

    (@konayuki)

    gatespaceさん
    御連絡ありがとうございます。

    ソースをコピペさせてもらったんですが、search.phpで表示がされなかったです。
    何か他の原因でしょうか。。

    ありがとうございました。

    トピック投稿者 konayuki

    (@konayuki)

    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’、’あ’から’ん’などあります。

    トピック投稿者 konayuki

    (@konayuki)

    gatespaceさん、
    ありがとうございます。

    ソースの意味と役割は、承知してるですが、
    もう少し詳しくお伝えした方がいいと思ったので、背景を書かせてください。

    ——————
    カスタムタクソノミーで用語集を実装しています。
    作成したカスタム名称は、
    タクソノミー glossary
    ターム glossary_category
    ターム glossary_tag
    ——————

    それで、用語集専用検索フォームを作成して
    このカスタム投稿の記事のみを出力したいと考えてます。

    上記のkzさんの教えていただいたソース部分、
    “任意のキーワード”部分は、検索するワード毎に異なるので、
    この部分は必要ないのではと思い、コメントアウトした次第です。

    トピック投稿者 konayuki

    (@konayuki)

    kzさん

    先ほど教えていただいたソースの部分で
    >if ( ‘任意のキーワード’ == $query->get( ‘s’ ) ) {

    任意のキーワードしたいので、この部分はコメントアウトにしたんですが、
    それでも結果は変わらないです。。

    トピック投稿者 konayuki

    (@konayuki)

    御連絡ありがとうございます。
    早速functios.phpに記述しましたが動きませんでした。

    現在検索フォームは以下のように記述していますが、
    上記のソースと関連性をどのようにしたらいいのでしょうか?
    それともfunctions.phpに記述する事で自動で関連されてるのでしょうか??

    <form action=”<?php echo home_url(); ?>” method=”get”>
    <input type=”text” name=”s” />
    <input type=”submit” value=”検索” />
    </form>

    フォーラム: 使い方全般
    返信が含まれるトピック: サイト内検索結果が表示されない
    トピック投稿者 konayuki

    (@konayuki)

    gogowebさん、nobitaさん

    ありがとうございます。
    serach.phpファイルがなかったようです。

    ありがとうございました。

    フォーラム: 使い方全般
    返信が含まれるトピック: サイト内検索結果が表示されない
    トピック投稿者 konayuki

    (@konayuki)

    結果を表示するにはどうしたらいいでしょうか、
    どなたか教えていただけないでしょうか。

    フォーラム: 使い方全般
    返信が含まれるトピック: カスタム投稿のカスタムカテゴリの表示方法
    トピック投稿者 konayuki

    (@konayuki)

    表題の件ですが、自己解決しました。

    原因は、
    functions.phpの
    カスタムタクソノミーを追加している部分の表記のしかたでした。

    ありがとうございました

13件の返信を表示中 - 1 - 13件目 (全13件中)