我正在尝试在Wordpress页面上显示帖子,其中自定义字段值为“in-stock”,自定义字段键名称为“_status”。
如何在下面添加一行代码,用于为自定义字段“_status”选择自定义字段值为“in-stock”的帖子?
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');
答案 0 :(得分:1)
您不应该像这样修改全局$wp_query
对象。这就是pre_get_posts
钩子存在的原因。然后,您可以设置自定义meta_query
:
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'
)));
}
}