是否将自定义字段作为带有复选框的布尔值?

时间:2011-03-17 作者:tjsherrill

我已经安装了“更多字段”插件,可以访问自定义字段复选框。当通过插件设置字段时,标题会显示:创建单个复选框,哪个键是开/关。正如您通过查询所看到的,我正在查找其事件存档=打开的所有事件。

有没有更好的方法?无论如何,这不会返回任何帖子。有没有更好的方法来构建布尔字段?

$archive_query = new WP_Query(
        array( 
          \'post_type\'  => \'event\',        // only query events
          \'meta_key\'    => \'event-archive\',  // load up the event_date meta
          \'order\'       => \'desc\',         // ascending, so earlier events first
          \'posts_per_page\' => \'5\',
          \'meta_query\'  => array(
             array(         // restrict posts based on meta values
              \'key\'     => \'event-archive\',  // which meta to query
              \'value\'   => \'on\',  // value for comparison
              \'compare\' => \'=\',          // method of comparison
              \'type\'    => \'CHAR\'         // datatype, we don\'t want to compare the string values
             ) // meta_query is an array of query ites
            ) // end meta_query array
          ) // end array
        ); // close WP_Query constructor call

1 个回复
最合适的回答,由SO网友:Roman 整理而成

如果没有提交“meta\\u Query”键,您是否已经查看了WP\\u Query的输出?您是否获得事件posttype的帖子?

如果是,那么您可以检查“更多文件”-插件在“事件存档”自定义字段中放置了什么。也许您必须将该值设置为整数1,或者只提交布尔值true。e、 g。

array(
\'key\'     => \'event-archive\', 
\'value\'   => 1
)

array(
\'key\'     => \'event-archive\', 
\'value\'   => true
)

EDIT

我刚刚安装了这个插件,创建了一个新的“checkbox”类型的元字段“event archive”,以及一些包含和不包含此元值的帖子。

如果使用以下查询,我将从posttype“event”中获取所有帖子,并选择元值。

$args = array(
\'post_type\' => \'event\',
\'order\' => \'desc\',
\'posts_per_page\' => \'5\',
\'numberposts\' => -1,
\'meta_query\' => array(
    array(
        \'key\' => \'event-archive\',
        \'value\' => 1,
        \'compare\' => \'=\',
        \'type\' => \'CHAR\'
    )
)

$archive_posts = get_posts($args);
print_r($archive_posts);

Note

<如果愿意,也可以使用WP\\u Query,“meta\\u Query”参数需要WordPress 3.1

结束

相关推荐