仅显示具有特定自定义字段值的Wordpress帖子

时间:2013-05-18 02:05:02

标签: php wordpress

我正在尝试在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');

1 个答案:

答案 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'
    )));
  }
}