【发布时间】:2015-02-11 18:45:44
【问题描述】:
我正在尝试编写一个 WP_Query,它使用来自两个 ACF 复选框的一些数据作为参数的一部分。
我找到了显示如何在自定义查询中使用字段的文档,但是我无法弄清楚我的复选框的正确语法是什么。
我的 ACF:
- 标签:提升到首页?
- 名称:promote_to_homepage
- 选择:提升到主页:提升到主页
- 标签:制作功能?
- 名称:make_feature
- 选择:显示为功能:显示为功能(首页顶部)
这是我的查询:
$the_query = new WP_Query(
array
(
'posts_per_page' => 1,
'meta_key' => 'promote_to_homepage',
'meta_value' => 'Promote to homepage',
'meta_key' => 'make_feature',
'meta_value' => 'Make feature'
)
);
我想我不明白为什么meta_key 和meta_value 实际需要数据。钥匙是标签吗?价值是选择之一吗?或者我需要使用meta_value => true 什么的吗?我尝试了很多变体,但无法让它发挥作用。
基本上我想要做的是输出最近检查过“提升到主页”和“制作功能”的帖子。
我也试过了:
array
(
'posts_per_page' => 1,
'meta_key' => 'promote_to_homepage',
'meta_value' => true,
'meta_key' => 'make_feature',
'meta_value' => true
)
编辑
这是我尝试过的新代码:
$args = array(
'post_type' => 'post',
'posts_per_page' => 1,
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'promote_to_homepage',
'value' => true,
),
array(
'key' => 'make_feature',
'value' => true,
),
)
);
$the_query = new WP_Query($args);
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<h2>' . get_the_title() . '</h2>';
echo '<p>' . get_the_excerpt() . '</p>';
echo '<p><a href="#" class="read-more">Read more</a></p>';
}
}
wp_reset_postdata();
【问题讨论】:
标签: checkbox advanced-custom-fields wordpress