你好,我正在开发一个博客,我想根据 wp_usermeta 数据表中的值过滤我的帖子。
当用户注册到我的站点时,我希望用户选择他/她最喜欢的汽车制造商。然后我将该值保存在 wp_usermeta 表中。
例如:如果用户选择了 Toyota,我将该记录保存在 wp_usermeta 表中,如下所示
user_id(列名)=2
meta_key(列名)=品牌
meta_value(列名)=丰田
我所有的元值都是帖子类别,在上面的例子中“Toyota”是一个帖子类别。
现在我需要根据用户在 wp_usermeta 表中选择的 meta_value 来过滤我的博文。
但是我很难在 postmeta 和 usermeta 表之间建立联系。
最好的方法是什么,或者是否有更好的方法来完成我的任务?
谢谢。
最佳答案
你可以使用 pre_get_posts操作存档页面上的主要查询(或者任何你想要的地方,真的)。
我不相信有一种方法可以在单个查询中做到这一点,所以我只是从 usermeta 中获取最喜欢的值并将它们放入 meta_query
中。
the docs for WP_Query中有很好的例子你可以适应你的需要。从类似
的内容开始'meta_query' => array(
array(
'key' => 'brand',
'value' => 'Toyota',
'compare' => '=',
),
),
在您的查询中。
关于php - 如何按用户选择的值过滤帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46725632/