WordPress 3.4.1将二月显示为三月

时间:2012-07-30 23:59:39

标签: wordpress archive

所以今天我写了好的'mod以按年,按月显示我的帖子档案,然后用jquery显示/隐藏功能发布帖子,我注意到一些令人沮丧的事情。

我正在使用任何人使用的标准代码:

<? $months = $wpdb->get_col("SELECT DISTINCT MONTH(post_date)
    FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post'
    AND YEAR(post_date) = '".$year."' ORDER BY post_date DESC");
    foreach($months as $month) :
?>

现在令人讨厌的部分......当显示月份时,2月出现在游行中!所以这几个月去了一月,三月,三月,四月...

我抓住了wordpress文件,看看March是否出现在应该说二月的任何地方,但一切都很好。当在wp_query生成的帖子列表中显示日期时,帖子列表会显示应该在哪里,应该在哪里。只有当使用上面的代码时,2月才会显示为3月,但是显示了2月的帖子,而3月的第2个实例则显示了游行应该发布的帖子。

任何人都知道这里有什么,甚至更好,如何解决它?

编辑:

我发现是导致此问题的代码:

<?php echo date( 'F', mktime(0, 0, 0, $month) );?>

我编写了代码:

<?php echo $month;?>

现在它正确显示月份NUMBER。如何让它显示名称?

2 个答案:

答案 0 :(得分:1)

本月的Substrata -1。

    <? $months = $wpdb->get_col("SELECT DISTINCT MONTH(post_date)
        FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post'
        AND YEAR(post_date) = '".$year."' ORDER BY post_date DESC");
        foreach($months as $month) {

           echo $month-1;
       }
    ?>

答案 1 :(得分:1)

对于所有遇到此问题的人:

<? $months = $wpdb->get_col("SELECT DISTINCT MONTH(post_date)
    FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post'
    AND YEAR(post_date) = '".$year."' ORDER BY post_date DESC");

    foreach($months as $month) :
?>

然后使用mktime设置所有参数,并添加1:

<?php echo date( 'F', mktime(0, 0, 0, $month+1, 0, 0, 0) );?>