Php 仅显示具有特定自定义字段值的Wordpress帖子
我试图在Wordpress页面上显示文章,自定义字段值为'in stock',自定义字段键名为'u status' 如何在下面添加一行代码,为名为“_status”的自定义字段选择自定义字段值为“in stock”的帖子Php 仅显示具有特定自定义字段值的Wordpress帖子,php,wordpress,Php,Wordpress,我试图在Wordpress页面上显示文章,自定义字段值为'in stock',自定义字段键名为'u status' 如何在下面添加一行代码,为名为“_status”的自定义字段选择自定义字段值为“in stock”的帖子 global $wp_query; $wp_query->set("orderby",'meta_value_num'); $wp_query->set("meta_key",'inventory_number'); $wp_que
global $wp_query;
$wp_query->set("orderby",'meta_value_num');
$wp_query->set("meta_key",'inventory_number');
$wp_query->set("order",'desc');
$wp_query->set("category_name",'tape');
您不应该这样修改全局
$wp\u query
对象。这就是为什么存在pre\u get\u posts
hook的原因。然后,您可以设置一个自定义的元查询
:
add_action('pre_get_posts', 'my_pre_get_posts');
function my_pre_get_posts($query)
{
if ($query->is_main_query()) {
$query->set('meta_query', array(array(
'key' => '_status',
'value' => 'in-stock',
'compare' => 'LIKE'
)));
}
}
非常感谢。我能问一下为什么这样更好吗?还有,比较部分做什么?这很有效。看看这里和这里。另外,当我试图在页面上使用相同的代码,但将值更改为“缺货”时,会出现“未找到”的情况。全局查询在页面上不起作用吗?在页面上,我将使用新的
WP\u查询
。pre\u get\u posts
最适合修改主查询。