我已经研究了很多答案和解决方案,而且我很难实现这一点。
我的目标:在Wordpress中,我想根据自定义日期字段从自定义帖子类型(事件)中订购帖子。我已经看到了其他的解决方案,但它们并不适合我,因为我的自定义键是元值中的数组,而解决方案则没有。
我无法更改代码的核心,因为整个网站都在其上运行而且不是由我创建的。
我正在使用的元键是_my_meta
,为了获得后期元,我使用get_post_meta($post->ID,'_my_meta',TRUE);
我将放入变量($meta
)。我调用的所有字段都在一个数组中,因此$meta['img']
可能是自定义图像,$meta['date']
可能是自定义日期。
目前,我已经完成了所有工作并从自定义WP_Query循环中正确拉动。我只是希望帖子能够通过日期的自定义文本字段进行拉取和排序。
这是我正在使用的循环:
<?php
$args = array(
'post_type' => 'event',
'order' => 'ASC',
'orderby' => 'meta_value',
'meta_key' => '_my_meta',
'meta_query' => array(
array(
'key' => '_my_meta',
'value' => date('Ymd'),
'compare' => '>='
)
)
);
$new = new WP_Query( $args );
while ($new->have_posts()) : $new->the_post();
?>
所以,我从'event'帖子类型中提取,按升序排序,按我的元值排序。自定义字段只是一个文本框,我在其中设置了日期格式为“20150809”(等于date('Ymd')
)。
meta_key是_my_meta
,但我真的想要来自get_post_meta($post->ID,'_my_meta',TRUE)['date']
的信息。这甚至可能吗?我很肯定在函数中使用的方法.php并不理想,但这是我必须使用的。
我已尝试将meta_value
更改为meta_value_num
,并且它会移动但不是理想的方式。在一个月之内,日期似乎是有序的,但几个月都没有了。
我输入了一些任意日期,并且使用当前设置,它显示为:
November 4th
November 6th
December 5th
August 9th
任何和所有帮助表示赞赏。谢谢!!