所以今天我写了好的'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。如何让它显示名称?
答案 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) );?>