Wordpress Admin - 按meta_key创建页面过滤器

时间:2017-09-12 13:00:48

标签: php wordpress plugins

我使用插件高级自定义字段,但我想在admin中创建页面时将按metakey过滤。

我知道如何为帖子类型创建页面,但它不一样。

我在functions.php中的代码:

add_action( 'init', 'event' );

function event() {
  register_post_type( 'event', array(
    'labels' => array(
      'name' => 'Events',
      'singular_name' => 'event',
     ),
    'description' => 'Events',
    'public' => true,
    'menu_position' => 20,
    'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt'),
    'rewrite' => array( 'slug' => 'event'),
    'has_archive'=>false,
    'taxonomies'=>['category'],
  ));
}

1 个答案:

答案 0 :(得分:0)

如果您向某些帖子类型添加一些元字段,则所有帖子都会包含该字段。您可以使用以下代码按非空元字段过滤帖子:

    $args = array(
    'post_type'  => 'page',
    'meta_key'   => 'event',
);
$query = new WP_Query( $args );

如果您想按此元字段的值进行过滤,则应使用meta_query

    $args = array(
    'post_type'  => 'page',
    'meta_key'   => 'event',
    'meta_query' => array(
        array(
            'key'     => 'event',
            'value'   => array( 'party', 'wedding' ),
            'compare' => 'IN',
        ),
    ),
);
$query = new WP_Query( $args );

在此页面上阅读更多内容 - https://codex.wordpress.org/Class_Reference/WP_Query