1

それで今日、jqueryの表示/非表示機能を使用して、投稿アーカイブを年ごと、月ごと、投稿ごとに表示する古き良きmodを書きましたが、かなりイライラすることに気づきました。

私は誰もがこれに使用する標準コードを使用しています:

<? $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月は3月と表示されます!1月、3月、3月、4月…

wordpress ファイルを grep して、2 月とすべき場所に 3 月が表示されているかどうかを確認しましたが、すべて問題ありませんでした。wp_query によって生成された投稿リストに日付を表​​示すると、投稿リストは本来あるべき場所に 2 月と表示されます。上記のコードを使用した場合のみ、2 月が 3 月として表示されますが、2 月の投稿が表示され、3 月の 2 番目のインスタンスは 3 月の投稿が表示されます。

ここで一体何が起こっているのか、さらに良いことに、それを修正する方法を知っている人はいますか???

編集:

問題の原因は次のコードであることがわかりました。

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

コードを次のように編集しました。

<?php echo $month;?>

月 NUMBER が正しく表示されるようになりました。名前を表示するにはどうすればよいですか?

4

2 に答える 2

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;
       }
    ?>
于 2012-07-31T05:27:02.417 に答える
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) );?>
于 2012-07-31T07:27:40.243 に答える