在Wordpress中的meta_key数组中按事件日期订购自定义帖子类型

时间:2015-09-15 16:25:28

标签: php wordpress loops date custom-post-type

我已经研究了很多答案和解决方案,而且我很难实现这一点。

我的目标:在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

任何和所有帮助表示赞赏。谢谢!!

0 个答案:

没有答案