这件事困扰了我一段时间。我使用Verve Meta Box插件为我创建的自定义帖子类型添加了一个日期字段,我想在使用query_posts
在PHP中。最好的方法是什么?我无法找到一种不涉及复杂自定义查询的方法。
Order by custom date field
2 个回复
SO网友:CookieMonster
我找到了以下解决方案:
SELECT wposts . *
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = \'datum\'
AND wposts.post_type = \'optredens\'
AND wposts.post_status = \'publish\'
ORDER BY wpostmeta.meta_value ASC
作为其他query_posts()
方法/备选方案效果不佳。SO网友:Milo
这将有助于查看您的所有代码,而无需更多的上下文,这只是在黑暗中拍摄。我用这个来完成你想做的事情,使用日期格式YYYY-MM-DD
这绝对“对我有用”。
global $wp_query;
$args = array(
\'meta_key\' => \'datum\',
\'orderby\' => \'meta_value_num\',
\'order\' => \'ASC\'
);
$args = array_merge( $wp_query->query, $args );
query_posts( $args );
结束