您好我正在博客上工作我想根据wp_usermeta数据表中的值过滤我的帖子。
当用户注册我的网站时,我希望用户选择他/她最喜欢的汽车制造商。然后我将该值保存在wp_usermeta表中。
EX:如果用户选择丰田,我将该记录保存在wp_usermeta表中,如下所示
user_id(列名)= 2
meta_key(列名)=品牌
meta_value(列名)=丰田
我的所有meta_values都是帖子类别,在上面的情况下"丰田"是一个帖子类别。
现在我需要根据wp_usermeta表中用户选择的meta_value过滤我的博客帖子。
但是我努力在postmeta和usermeta表之间建立联系。
最好的方法是什么?还是有更好的方法来完成我的任务?
感谢。
答案 0 :(得分:1)
您可以使用pre_get_posts来操作存档页面上的主查询(或者您真正想要的位置)。
我不相信在单个查询中有一种方法可以做到这一点,所以我只是从usermeta获取最喜欢的值并将它们放入meta_query
。
the docs for WP_Query中有很好的例子可以满足您的需求。从
之类开始'meta_query' => array(
array(
'key' => 'brand',
'value' => 'Toyota',
'compare' => '=',
),
),
在您的查询中。