我有一些帖子有一个yyyy-mm-dd格式的自定义字段日期。我想做的是在一个页面的侧面列出特定年份的所有帖子,该页面基于该帖子自定义字段中的年份,并分为几个月。
例如,如果帖子的自定义字段日期为1990,那么我想在页面的一侧列出1990年以来的所有帖子,并按月份排序。
我必须使用此自定义字段日期,不能使用Wordpress内部日期函数。
下面,我只提取了自定义字段date中的年份,用于查询,它返回了从单个post自定义字段的日期起到post的所有链接。此查询显示在single post循环外部的single post页面模板的一侧。
我想知道我现在如何把这些帖子分为几个月?所以一月之后是这个月的所有帖子链接,二月等等。。。
<?php
$histyear = substr (get_post_meta($post->ID, "historic-date", true),0,4);
$querystr = "
SELECT $wpdb->posts.*
FROM $wpdb->posts, $wpdb->postmeta
WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id
AND $wpdb->postmeta.meta_key = \'historic-date\'
AND $wpdb->postmeta.meta_value = $histyear
AND $wpdb->posts.post_status = \'publish\'
AND $wpdb->posts.post_type = \'post\'
ORDER BY $wpdb->postmeta.meta_key = \'historic-date\' DESC
";
$pageposts = $wpdb->get_results($querystr, OBJECT);
?>
<?php if ($pageposts): ?>
<?php global $post; ?>
<?php foreach ($pageposts as $post): ?>
<?php setup_postdata($post); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h3><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>">
<?php the_title(); ?></a></h3>
</div>
<?php endforeach; ?>
<?php else : ?>