Sorting a query Field by date

时间:2012-08-06 作者:Owen O\'Neill

我有我的网站,目前是显示大学开放日,目前他们是按页面标题的顺序排序,而实际上我更希望他们按日期排序,最早排在第一,最晚排在最后。

下面是我到目前为止的代码,我似乎无法确定如何按日期顺序对它们进行排序,有什么帮助吗?

<?php query_posts(\'post_type=page&post_parent=2&posts_per_page=-1&orderby=title&order=ASC\'); ?>
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>

<!-- Calender Items -->

<?php $key = \'next_open_day\'; $themeta = get_post_meta($post->ID, $key, TRUE); if($themeta != \'\') { 

echo \'<div class="calender-item">\';
echo \'<h2>\';
echo \'<a href="\';
the_permalink();
echo \'">\';
the_title();
echo \'</a>\';
echo \'</h2>\';
echo \'<p>\';
the_field(\'next_open_day\');
echo \'</p>\';
echo \'<p>\';
the_field(\'open_day_description\');
echo \'</p>\';
echo \'<a target="_blank" href="\';
the_field(\'university_web_address\');
echo \'">\';
echo \'Visit Website\';
echo \'</a>\';
echo \'</div>\';

} ?>    

<!-- END OF CALENDER ITEM -->   

<?php endwhile; ?>
<?php wp_reset_query(); ?>

1 个回复
SO网友:amit

&orderby=date 将按日期返回帖子。

<?php query_posts(\'post_type=page&post_parent=2&posts_per_page=-1&orderby=date&order=ASC\'); ?>
将第一行替换为该行以根据其日期显示帖子。

参考-Passing variables to query_posts

更新-要根据自定义字段值对帖子进行排序,下面是新代码。

   query_posts(\'post_type=post&posts_per_page=-1&orderby=meta_value&meta_key=next_open_day&order=ASC\'); ?>
Note - 日期应保存在-YYYY-MM-DD 总体安排但是,我们可以进一步将该日期转换为所需的格式。E、 g-

<?php
$date = "2012/08/21"; 
list($y, $m, $d) = split(\'/\', $date); 
$newdate = $d.\'/\'.$m.\'/\'.$y;
echo $newdate;
?>

结束

相关推荐

Get date function not working

我有一个函数来获取日期。我有输入字段,希望在此字段中输入日期。但我的代码设置了错误的日期。我在Wordpress设置和我的服务器上设置了日期。但它不起作用。这是我的脚本:function get_agenda_item_day() { global $post; $cp_date = get_post_meta($post->ID, \'cp_date_end\', true); $cp_date_arr = explod