使用php/wordpress中的设置数据按日期排序

使用php/wordpress中的设置数据按日期排序,php,wordpress,Php,Wordpress,我有一个自定义的帖子类型“books”,其中有一个名为“publicationdate”的自定义字段。此字段中的数据通常类似于“2014年11月”或“2013年7月” 现在已经有很多书添加了这些值,我需要一种方法来按发布日期对帖子进行排序,而不是手动将发布日期更改为更好的值 发布日期与文章的发布日期不一致。 谢谢 我希望这有助于: $args = array( 'post_type' => 'books', 'meta_key' = 'publication

我有一个自定义的帖子类型“books”,其中有一个名为“publicationdate”的自定义字段。此字段中的数据通常类似于“2014年11月”或“2013年7月”

现在已经有很多书添加了这些值,我需要一种方法来按发布日期对帖子进行排序,而不是手动将发布日期更改为更好的值

发布日期与文章的发布日期不一致。

谢谢

我希望这有助于:

   $args = array( 
      'post_type' => 'books',
      'meta_key' = 'publication_date',
      'orderby' => 'meta_value',
      'order'=>'ASC' 
    );

您需要先将元值转换为日期类型,然后才进行排序。下面的代码为您实现了这一点

$args = array( 
        'post_type' => 'books',
        'orderby' => 'meta_value',
        'order'=>'ASC',
        'meta_query'    =>  array(
            array(
                'key'   =>  'publication-date',
                'type'  =>  'DATE'
            )
        ),
    );

您需要编写一个函数,将这些日期替换为可排序的格式。或者您可以在php中使用strotime on publication date字段对其进行排序,但这只是暂时的解决方案