如何显示按自定义字段日期排序的自定义帖子类型

时间:2014-09-19 作者:Murhaf Sousli

我有一个时间轴活动的自定义帖子类型。

每个帖子都有一个自定义字段类型DATE. 字段名称:activity-date

我正在使用TYPES plugin 对于Custom Post TypeCustom Fields

我想按自定义日期字段订购这些帖子,我尝试了以下操作,但没有成功。

<?php $activities = new WP_Query( array(
    \'post_type\' => \'timeline\',
    \'posts_per_page\' => -1,
    \'key\'           => \'activity-date\',
    \'orderby\'       => \'meta_value_num\',
    \'order\'         => \'ASC\'                            
)); ?>
enter image description here

2 个回复
SO网友:vancoder

要使用的正确数组键是meta_key, 非按键。您只能使用key 作为meta_query 子阵列,其中隐含“元”部分。

这些都在codex.

尝试

<?php $activities = new WP_Query( array(
    \'post_type\' => \'timeline\',
    \'posts_per_page\' => -1,
    \'meta_key\'      => \'activity-date\',
    \'orderby\'       => \'meta_value_num\',
    \'order\'         => \'ASC\'                            
)); ?>

SO网友:Murhaf Sousli

经过长时间的搜索,TYPES插件似乎正在存储meta\\u键的名称,如

\'meta_key\' => \'wpcf-yourmetakey\'

解决方案是:

<?php $activities = new WP_Query( array(
    \'post_type\'         =>  \'timeline\',
    \'posts_per_page\'    =>  -1, 
    \'meta_key\'          => \'wpcf-activity-date\',
    \'orderby\'           => \'meta_value\',
    \'order\'             => \'DESC\'
    ));
?>

结束

相关推荐

使CURDATE()识别Current_Time()

我试图让这个查询从今天起30天内提取一个有生日的用户列表。此查询在WordPress中按照以下方式工作,但不包括那些生日与今天相同的人。我相信CURDATE() 函数使用服务器时间,而不是在设置/常规区域中调整WordPress时区。有什么解决办法吗?$querystr = \" SELECT * FROM \" . $wpdb->prefix . \"usermeta WHERE meta_key=\'bday_unix\' AND DATE_ADD( f