获取与WordPress中特定meta_key值匹配的帖子ID

时间:2017-09-18 23:52:34

标签: wordpress wordpress-theming

我正在制作我的第一个Wordpress儿童主题,用于现有主题。

wp_postmeta表包含以下列:

meta_id
post_id
meta_key
meta_value

我感兴趣的几个元键:

book_title
exhibition_name

我想获得与特定展览名称相匹配的所有图书标题及其相应的帖子ID。

如果我使用get_post_meta调用,则需要参数$ post_id,因此它是一个死胡同(据我所知)。

知道如何使用WordPress API完成我想要的工作吗?

解决方案

答案由@Junaid提供,但语法中有一个小错误:

$args = array(
    'post_type' => 'post',
    'meta_query' => array(
        array(
            'key' => 'exhibition_name',
            'value' => 'Science Exhibition'
        )
    )
);

$query = new WP_Query($args);

if ($query->have_posts()) {
    while ($query->have_posts()) {
        $query->the_post();
        $post_id = get_the_ID();
        $title = get_post_meta($post_id, 'book_title');
    }
}

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用WP_Query并传递meta_query个参数?试试这段代码

$args = array(
    'post_type' => 'post',
    'meta_query' => array(
        'key' => 'exhibition_name',
        'value' => 'Science Exhibition'
    )
);

$query = new WP_Query($args);

if ($query->have_posts()) :
    while ($query->have_posts()) :
        $query->the_post();
        $post_id = get_the_ID();
        $title = get_post_meta($post_id, 'book_title');
    endwhile;
endif;

未经过测试