カスタム選択クエリを使用せずに、特定のメタ値を持つ投稿に対してWP_Queryをフィルタリングする方法
私はメタキー「open」とメタ値オプション「yes」または「no」のカスタム投稿タイプを持っています。
Meta_key = "open"の場合、meta_value = yesでのみ投稿を表示したいです。
function filter_where($where = '') {
$open = "yes";
//$where .= " AND post_date > '" . date('Y-m-d', strtotime('-2 days')) . "'";
return $where;
}
add_filter('posts_where', 'filter_where');
あなたがクエリ引数でそれを試していなかったか、それがうまくいかなかったかどうか私はあなたの言葉遣いからはわかりませんか?
$the_query = new WP_Query(array( 'meta_key' => 'open', 'meta_value' => 'yes' ));
カスタムフィールドパラメータ Codex内。
$querystr = "
SELECT wposts.*
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = 'custom-key'
AND wposts.post_type = 'page'
ORDER BY wpostmeta.meta_value DESC
";