我有一个名为dead_date的自定义字段,其中我将日期设置为dd-mm-yyyy。 现在我打电话给我,所以我可以按照这样的日期订购:
但我得到的是:
在下面找到我的代码
$args = array(
'posts_per_page' => 500,
'offset' => 0,
'category' => 1,
'meta_key' => 'dead_date',
'orderby' => 'meta_value',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish',
'suppress_filters' => true
);
$posts_array = get_posts( $args );
答案 0 :(得分:0)
尝试添加meta_type
和值'DATE'
。
$args = array(
'posts_per_page' => -1,
'category' => 1,
'meta_key' => 'dead_date',
'orderby' => 'meta_value',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish',
'suppress_filters' => true,
'meta_type' => 'DATE'
);
$posts_array = get_posts( $args );
get_posts
使用WP_Query,因此您可以使用相同的参数,并根据WP_Query documentation:
'meta_value' - 请注意,'meta_key = keyname'也必须出现在 查询。另请注意,排序将按字母顺序排列 字符串(即单词)很好,但数字可能是意外的(例如 1,3,34,4,56,6等,而不是1,3,4,6,34,56,你可能会 自然期待)。使用'meta_value_num'代替数值。 如果要将元值转换为,也可以指定“meta_type” 特定类型。可能的值为'NUMERIC','BINARY','CHAR', 'DATE','DATETIME','DECIMAL','SIGNED','TIME','UNSIGNED',同如 在'$ meta_query'。
如果不起作用,您可能必须使用WP_Query
而不是get_posts
。
答案 1 :(得分:0)
$args = array(
'posts_per_page' => -1,
'category' => 1,
'meta_key' => 'dead_date',
'orderby' => 'meta_value',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish',
'suppress_filters' => true
);
$posts_array = get_posts( $args );
这可能会对你有所帮助。干杯!!