2017-10-13 6 views
1

こんにちは私はブログに取り組んでいます。投稿をwp_usermetaデータテーブルの値でフィルタリングしたいのですが。ユーザーが選択した値で投稿をフィルタリングする方法は?

ユーザーが自分のサイトに登録するときに、お気に入りの自動車メーカーを選択する必要があります。次に、その値をwp_usermetaテーブルに保存します。

EX:ユーザーがトヨタを選択した場合、私は(wp_usermetaテーブル内のレコードは

USER_ID(列名)= 2

meta_key(列名)=ブランド

meta_valueを次のようにその列を保存名前)=トヨタ

私のすべてのmeta_valuesは上記のカテゴリに属しています。「Toyota」は投稿カテゴリです。

今、私は自分のブログ投稿を、wp_usermetaテーブルのmeta_valueを選択したそのユーザーに従ってフィルタリングする必要があります。

しかし、私はポストメタとusermetaのテーブルを接続するのに苦労しています。

これを行うにはどのような方法がありますか、自分の仕事を完全に埋めるための良い方法がありますか?

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

答えて

1

pre_get_postsを使用して、アーカイブページのメインクエリを操作することができます。

私は1つのクエリでそれを行う方法はないと信じています。だから私はusermetaからお気に入りの値をmeta_queryに入れてしまいます。

the docs for WP_Queryには、あなたのニーズに適応できる良い例があります。

'meta_query' => array(
    array(
      'key'  => 'brand', 
      'value' => 'Toyota', 
      'compare' => '=', 
    ), 
), 

あなたの質問にお答えください。

+0

私はmeta_queryの使用に関する例を教えてください。ありがとう –

+0

私の更新された回答を見てください – janh

関連する問題