我正在创建一个页面网站,我在“页面”帖子类型上添加了一个自定义字段,要求“将此页面用作分区:”是或否(带有下拉列表)。我将模板上的所有页面都调用为一页。使用wp查询的php(自定义模板)
<?php $args = array(
\'post_type\' => \'pages\',
\'order\' => \'ASC\',
\'posts_per_page\' => 50,
\'meta_query\' => array(
\'key\' => \'field_5505a81b83234\', // field key generated from acf plugin
\'value\' => \'Yes\'
)
);
$onepage = new WP_Query($args);
?>
<?php if ( $onepage->have_posts() ) : while ( $onepage->have_posts() ) : $onepage->the_post(); ?>
<div class="section">
<?php get_template_part( \'content\', \'page\' ); ?>
</div>
<?php endwhile; endif; // end of the loop. ?>
在上面,我试图从自定义字段中仅获取设置为“是”的页面,但它显示了所有页面。我只想要那些通过自定义字段设置为“是”的,我问了这个问题,所以这是第二部分。请帮忙。谢谢
注意:我使用高级自定义字段创建字段,字段类型为“选择”,有两个选项“是”和“否”。。再次感谢。。
最合适的回答,由SO网友:Pieter Goosen 整理而成
这里有两个问题
默认值page
岗位类型为page
, 不pages
您的meta_query
是错误的,它应该是一个数组中的一个数组,而不仅仅是一个数组
你的论点应该是
$args = array(
\'post_type\' => \'page\',
\'order\' => \'ASC\',
\'posts_per_page\' => 50,
\'meta_query\' => array(
array(
\'key\' => \'field_5505a81b83234\', // field key generated from acf plugin
\'value\' => \'Yes\'
),
),
);