2017-10-13 68 views
1

你好我正在一個博客上工作我想用wp_usermeta數據表中的值過濾我的帖子。如何按用戶選擇的值過濾帖子?

當用戶註冊到我的網站時,我希望用戶選擇他/她最喜歡的汽車製造商。然後我將該值保存在wp_usermeta表中。

EX:如果用戶選擇豐田,我保存在wp_usermeta表記錄如下

USER_ID(列名)= 2

meta_key(列名稱)=品牌

meta_value(柱名稱)=豐田

我所有的meta_values是後類別,在上面的情況下,「豐田」是一個職位類別。

現在我需要根據用戶在wp_usermeta表中選擇的meta_value過濾我的博客文章。

但我努力在postmeta和usermeta表之間建立聯繫。

什麼是最好的方式來做到這一點或有什麼更好的方式來完成我的任務?

謝謝。

回答

1

您可以使用pre_get_posts來操作歸檔頁面上的主要查詢(或者您真正想要的地方)。

我不認爲有一種方法可以在單個查詢中做到這一點,所以我只是從usermeta中獲得最喜歡的值,並將它們放入meta_query

the docs for WP_Query有很好的例子,你可以適應你的需求。開始類似

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

在您的查詢。

+0

你能告訴我一個使用meta_query的例子嗎?謝謝 –

+0

請看我更新的答案 – janh