私はちょうど答えを見つけることができないし、私の特定のケース(または私が見つかりましたが、それを認識しませんでした)に関する関連記事を見つけることができません。Wordpress pre_get_posts高度なカスタムフィールドでフィルタリング
私は普通のブログ記事を持っています。私は1単語だけ "音楽"(タグはテキストタイプ)のカスタムフィールド名 "タグ"を持っています。
「タグ」で「音楽」を持っているすべての記事を選択するための私のPHPは次のとおりです。
add_filter('query_vars', function($vars) {
$vars[] = 'tag';
return $vars;
});
add_action('pre_get_posts', function ($query) {
if (!empty($_GET)) {
if ($tag = get_query_var('tag', false)) {
$meta_query[] = array(
'key' => 'tag',
'value' => $tag,
'compare' => '='
);
}
$query->query_vars['meta_query'] = $meta_query;
}
}, 1);
さて、私は例えば、URLを入力する場合:?ポストのlocalhostの/ myblog /タグ=音楽のどれもありません私が「タグ」フィールドに「音楽」のある記事はほとんどありません。 私はこの単純なケースの解決策を最初に得たいと思います。
また、「音楽、映画、ポップ、人生」といったテキストフィールドの「タグ」に複数の値を設定したい場合は、ソリューションを希望します。検索で「ライフフィルム」を入力すると、それらの特定のフィールド。どうもありがとうございました。どんな助けも訴えられるでしょう。
お返事ありがとうございますが、まだ動作していないようです。今、私はfunctions.phpの中に手動でacfの関数を登録する必要はありません。管理パネルから追加しました。おそらく登録する必要があります。 あなたを気の毒にして申し訳ありませんが、これは簡単に思えますが、私にとってはうまくいきません。 –