我创建了一个值为“home”的元框,类型为checkbox,但是我很难在循环中检索,我在循环中使用以下代码:
<?php if(get_post_meta(get_the_ID(), \'home\') == \'1\' ) : ?>
<!--BLABLA TO DISPLAY -->
<?php endif; ?>
如果复选框被选中,它应该像这样工作,但是不是。。。最有趣的是,如果我将其设置为“0”,它将显示未选中的所有其他页面。
猜猜看?
提前感谢
UPDATE
页面选项代码
$meta_boxes[] = array(
\'id\' => \'page-options\',
\'title\' => __(\'Page Layout\', \'andrewslab\'),
\'pages\' => array(\'page\'),
\'context\' => \'normal\',
\'priority\' => \'high\',
\'fields\' => array(
array(
\'name\' => __(\'Home\', \'andrewslab\'),
\'id\' => \'home\',
\'type\' => \'checkbox\',
\'desc\' => \'Display in <strong>home page</strong>\',
\'std\' => \'\'
)
)
);
模板代码
<?php
global $wp_query;
$args = array_merge( $wp_query->query, array( \'post_type\' => \'page\' , \'showposts\' => \'4\' ) );
query_posts( $args );
?>
<?php while (have_posts()) : the_post() ; $meta = get_post_meta( get_the_ID(), \'home\', true ); ?>
<?php if( checked( $meta, 1, false ) ) : ?>
<!--BLABLA-->
<?php endif ?>
<?php endwhile; ?>
<?php wp_reset_query() ?>
基本上,只有选中复选框时,我才需要进入循环。