wordpressサイトを持っています。
多言語化のため polylang というプラグインをインストールしました。
有効化すると、検索結果にカスタム投稿タイプの記事が出なくなり、
無効化してみると、カスタム投稿タイプの記事がちゃんと出るようになりました。
polylangは検索クエリをいじっているのでしょうか?
同じ症状にあわれた方いますか?
どのように解決されましたか?
よろしくお願いいたします
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
polylangを有効化した時点で、tax_queryが検索条件に挿入されている事が原因でした。
そのtax_queryが「language」タクソノミーで検索しているものの、
既存の記事にはlanguageタクソノミーが設定されていなかったため、
languageタクソノミーが記事に存在していなくても記事がひっかかるように修正しました。
php
1function alter_search_query( $query ) { 2 3 if ( !is_admin() && $query->is_main_query() ) { 4 if ($query->is_search) { 5 6 $current_locale = function_exists('pll_current_language') ? pll_current_language() : 'ja'; 7 $current_locale_term = get_term_by('slug',$current_locale,'language'); 8 9 $taxquery = array( 10 'relation' => 'OR', 11 array( 12 'taxonomy' => 'language', 13 'field' => 'term_taxonomy_id', 14 'terms' => array($current_locale_term->term_taxonomy_id), 15 'operator'=> 'IN', 16 ), 17 array( 18 'taxonomy' => 'language', 19 'field' => 'id', 20 'operator'=> 'NOT EXISTS', 21 ), 22 ); 23 $query->set( 'tax_query', $taxquery ); 24 25 } 26 } 27} 28 29add_action( 'pre_get_posts', 'alter_search_query' );
投稿2020/01/21 04:51
総合スコア9
0
自己解決
polylangを有効化した時点で、tax_queryが検索条件に挿入されている事が原因でした。
そのtax_queryが「language」タクソノミーで検索しているものの、
既存の記事にはlanguageタクソノミーが設定されていなかったため、
languageタクソノミーが記事に存在していなくても記事がひっかかるように修正しました。
php
1function alter_search_query( $query ) { 2 3 if ( !is_admin() && $query->is_main_query() ) { 4 if ($query->is_search) { 5 6 $current_locale = function_exists('pll_current_language') ? pll_current_language() : 'ja'; 7 $this_term = get_term_by('slug',$current_locale,'language'); 8 9 $taxquery = array( 10 'relation' => 'OR', 11 array( 12 'taxonomy' => 'language', 13 'field' => 'term_taxonomy_id', 14 'terms' => array($this_term->term_taxonomy_id), 15 'operator'=> 'IN', 16 ), 17 array( 18 'taxonomy' => 'language', 19 'field' => 'id', 20 'operator'=> 'NOT EXISTS', 21 ), 22 ); 23 $query->set( 'tax_query', $taxquery ); 24 25 } 26 } 27} 28 29add_action( 'pre_get_posts', 'alter_search_query' );
投稿2020/01/21 04:48
総合スコア9
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。