我正在尝试进行查询,以获取选中勾选框的所有页面"feature_on_front_page"
它有价值"featured"
带标签"Featured"
.
我用ACF添加了此复选框。
我的问题是:
<?php wp_reset_query(); // Restore global post data stomped by the_post(). ?>
<?php
// args
$args = array(
\'numberposts\' => -1,
\'post_type\' => \'page\',
\'meta_key\' => \'feature_on_front_page\',
\'meta_value\' => \'featured\'
);
// query
$the_query = new WP_Query( $args );
?>
<?php if( $the_query->have_posts() ): ?>
<ul>
<?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>
<li>
do some stuff
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
<?php wp_reset_query(); // Restore global post data stomped by the_post(). ?>
它返回0个结果。我查了数据库
"feature_on_front_page"
键具有数据值
"a:1:{i:0;s:8:"featured";}"
我曾尝试使用数组而不是字符串,但我不能确切地知道我做错了什么
我试过:
\'meta_value\' => array(\'Featured\' => \'featured\')
以及
\'meta_value\' => array(\'featured\')
以及各种其他变体。我知道这很简单,但我看不出我错在哪里。
以下是它在数据库中的外观:
最合适的回答,由SO网友:sqrbrkt 整理而成
更新:好的,根据ACF的文件,这应该是可行的:
$args = array(
\'posts_per_page\' => -1,
\'post_type\' => \'page\',
\'meta_query\' => array(
array(
\'key\' => \'feature_on_front_page\',
\'value\' => \'featured\',
\'compare\' => \'LIKE\'
),
)
);
你的代码对我有用。
你能看到feature_on_front_page
在WordPress管理区域中查看页面时的自定义字段?
或者问题在于do some stuff
你省略的部分?