Title: 1年分(過去も未来も)の月刊アーカイブを表示しておく。
Last modified: 2016年7月30日

---

# 1年分(過去も未来も)の月刊アーカイブを表示しておく。

 *  解決済 [suekiki](https://ja.wordpress.org/support/users/suekiki/)
 * (@suekiki)
 * [14年、 2ヶ月前](https://ja.wordpress.org/support/topic/1%e5%b9%b4%e5%88%86%e9%81%8e%e5%8e%bb%e3%82%82%e6%9c%aa%e6%9d%a5%e3%82%82%e3%81%ae%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a/)
 * 投稿あるなしに関係なく、1年分(過去も未来も)の月刊アーカイブを表示しておきたく、
   
   wp_get_archivesタグで試行錯誤してますが思うように出来ません＞＜ 質問させてくだ
   さい。
 * 完成イメージ—————————————–
    【アーカイブ】 ■2012年12月　■2012年11月　■2012年10
   月 ■2012年09月　■[2012年08月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   ■[2012年07月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   ■[2012年06月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   ■2012年05月　■2012年04月 ■2012年03月　■2012年02月　■2012年01月 —————————————————–※
   個別ページでblog.phpを作り、ブログのトップ(一覧)ページにしてます。 そのヘッダ
   部分に上記の月刊アーカイブ(1年分)を表示してます。
 * やりたい事は、先に述べたことに加え、
    投稿記事のない月は「リンクなしの文字列」
   で表示。
 * ブログのスタートが6月なので、2012年8月現在は、
    1～5月、9～12月の記事はありま
   せん。今後投稿のある9月以降は、 投稿する度に「自動で文字列(例：2012年9月)にリンク
   を張りたい」です。
 * どうぞ、解決策をご教授ください。
    よろしくお願いします。

11件の返信を表示中 - 1 - 11件目 (全11件中)

 *  トピック投稿者 [suekiki](https://ja.wordpress.org/support/users/suekiki/)
 * (@suekiki)
 * [14年、 1ヶ月前](https://ja.wordpress.org/support/topic/1%e5%b9%b4%e5%88%86%e9%81%8e%e5%8e%bb%e3%82%82%e6%9c%aa%e6%9d%a5%e3%82%82%e3%81%ae%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a/#post-151182)
 *     ```
       <?php
        $out = wp_get_archives('type=monthly&format=custom&after=<br>&echo=0');
        $out = str_replace('年', '年',$out);
        $out = str_replace('月', '月',$out);
        echo $out;
       ?>
       ```
   
 * 現在上記のコードで、以下のように表示してます。
    [2012年08月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   [2012年07月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   [2012年06月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
 * 投稿記事のある3か月分です。
    投稿記事のない月(1～12月の1年分)も文字列として表示
   しておきたいのですが、 コーディングがわかりません。
 * どうぞ、お力をおかしください。
 *  [sysbird](https://ja.wordpress.org/support/users/sysbird/)
 * (@sysbird)
 * [14年、 1ヶ月前](https://ja.wordpress.org/support/topic/1%e5%b9%b4%e5%88%86%e9%81%8e%e5%8e%bb%e3%82%82%e6%9c%aa%e6%9d%a5%e3%82%82%e3%81%ae%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a/#post-151183)
 * wp_get_archivesだと存在する投稿しか取得できませんので、
    まず、for文で1～12まで
   まわし、月の文字列すべてを表示したらよいと思います。 さらにfor文の中で、月の投稿
   が存在するかどうか？を確認して もし投稿がある月ならば、月ごとアーカイブへのアンカー
   を追加するというようにします。
 * 例えば2012年8月の投稿が存在するかどうか？は、
    query_posts(‘&year=2012&monthnum
   =8&showposts=1’);
 * でもこれを12回やったら負荷かもしれませんので、
    あらかじめ年ごとに取得しておい
   たらよいのかなぁ…
 * カレンダーのウィジェットを表示しているコードを調べたら、
    もっとよいヒントがあり
   そうですね。
 *  トピック投稿者 [suekiki](https://ja.wordpress.org/support/users/suekiki/)
 * (@suekiki)
 * [14年、 1ヶ月前](https://ja.wordpress.org/support/topic/1%e5%b9%b4%e5%88%86%e9%81%8e%e5%8e%bb%e3%82%82%e6%9c%aa%e6%9d%a5%e3%82%82%e3%81%ae%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a/#post-151184)
 * アドバイス、ありがとうございます。
    ただプログラムが書けないので「for文で1～12
   までまわし」等を加えると 警告＆エラーメッセージの連続で＞＜
 * やりたい事に近いコードを探してみました↓
 *     ```
       <?php
       $archives_year = strip_tags(wp_get_archives("type=yearly&echo=0"));
       $archives_year_array = split("\n", $archives_year);
       array_pop($archives_year_array);
   
       $archives = wp_get_archives("type=monthly&format=&echo=0");
       $archives_array = split("\n", $archives);
   
       foreach($archives_year_array as $year_value){
         echo "<dt>".ltrim($year_value)."</dt>";
   
         $month_array = array();
   
         for($i=0; $i<12; $i++){
           $month_array[$i] = ($i+1)."月";
         }
   
         foreach($archives_array as $archives_value){
           if(intval(strip_tags($archives_value))==intval($year_value)){
             $month = str_replace(intval($year_value)."年","",ltrim($archives_value));//★
             $month_value = strip_tags(str_replace("月","",$month))-1;
   
             $month_array[$month_value] = $month;
           }
         }
   
         for($i=0; $i<12; $i++){
           echo "<dd>$month_array[$i]</dd>";
         }
       }
       ?>
       ```
   
 * 上記コードをもとにカスタマイズしたい箇所は、
    ★の部分で年表示(2012年)を削除し
   てあるようですが、ここを削除したくありません。 また全体が年ごとに追加するループ
   になっているのでこれを1年分にしたいです。
 * 再度、ご教授のほどよろしくお願いします。
 *  [sysbird](https://ja.wordpress.org/support/users/sysbird/)
 * (@sysbird)
 * [14年、 1ヶ月前](https://ja.wordpress.org/support/topic/1%e5%b9%b4%e5%88%86%e9%81%8e%e5%8e%bb%e3%82%82%e6%9c%aa%e6%9d%a5%e3%82%82%e3%81%ae%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a/#post-151186)
 * こんにちわ、
    このようなやりかたがあるのですね。
 * もし年のループをやめたいなら、
    `foreach($archives_year_array as $year_value){`
   というループを削除して、$year_valueに表示したい年(2012とか)を設定すればよいと
   思いますよ。
 *  トピック投稿者 [suekiki](https://ja.wordpress.org/support/users/suekiki/)
 * (@suekiki)
 * [14年、 1ヶ月前](https://ja.wordpress.org/support/topic/1%e5%b9%b4%e5%88%86%e9%81%8e%e5%8e%bb%e3%82%82%e6%9c%aa%e6%9d%a5%e3%82%82%e3%81%ae%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a/#post-151187)
 * アドバイス方、ありがとうございます。
    やりたい事にだいぶ近づきました。 スマート
   ではありませんが、以下のように変えてみました。
 *     ```
       <?php
       $archives = wp_get_archives("type=monthly&format=custom&echo=0");
       $archives_array = split("\n", $archives);
         $month_array = array();
         for($i=0; $i<12; $i++){
           $month_array[$i] = ($i+1)."月";
         }
   
         $year_value = "2012";
   
         foreach($archives_array as $archives_value){
           if(intval(strip_tags($archives_value))==intval($year_value)){
             $month = str_replace($year_value."年","",$archives_value); //★
             $month_value = strip_tags(str_replace("月","",$month))-1;
   
             $month_array[$month_value] = $month;
           }
         }
   
         for($i=0; $i<12; $i++){
         	echo "$month_array[$i]　";
         }
       ?>
       ```
   
 * 現在上記コードで、表示は↓のようになってます。
    1月　2月　3月　4月　5月　[06月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   [07月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   [08月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   9月　10月　11月　12月
 * 表示のように、2012年が表示がされません。
    ★部分の文字を削除する「ltrim()」を省
   いてみましたが、年の表示はダメのようです。 何度もすみませんが、アドバイス方よろしく
   お願いします。
 *  [kz](https://ja.wordpress.org/support/users/kz/)
 * (@kz)
 * [14年、 1ヶ月前](https://ja.wordpress.org/support/topic/1%e5%b9%b4%e5%88%86%e9%81%8e%e5%8e%bb%e3%82%82%e6%9c%aa%e6%9d%a5%e3%82%82%e3%81%ae%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a/#post-151188)
 * `$month_array[$month_value] = $month;`
    を `$month_array[$month_value] = $archives_value;`
   で良さそうです。
 *  トピック投稿者 [suekiki](https://ja.wordpress.org/support/users/suekiki/)
 * (@suekiki)
 * [14年、 1ヶ月前](https://ja.wordpress.org/support/topic/1%e5%b9%b4%e5%88%86%e9%81%8e%e5%8e%bb%e3%82%82%e6%9c%aa%e6%9d%a5%e3%82%82%e3%81%ae%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a/#post-151190)
 * kzさん、ありがとうございます。
    年が表示されました(^^)↓のようになってます。 1
   月　2月　3月　4月　5月　[2012年06月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   [2012年07月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   [2012年08月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   9月　10月　11月　12月
 * できれば、記事のない月も
    文字列として(2012)年を表示しておきたいのですが 可能
   でしょうか？
 * アドバイスいただければ幸いです。
 *  [kz](https://ja.wordpress.org/support/users/kz/)
 * (@kz)
 * [14年、 1ヶ月前](https://ja.wordpress.org/support/topic/1%e5%b9%b4%e5%88%86%e9%81%8e%e5%8e%bb%e3%82%82%e6%9c%aa%e6%9d%a5%e3%82%82%e3%81%ae%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a/#post-151191)
 *     ```
       for($i=0; $i<12; $i++){
           $month_array[$i] = ($i+1)."月";
         }
   
         $year_value = "2012";
       ```
   
 * を
 *     ```
       $year_value = "2012";
         for($i=0; $i<12; $i++){
           $month_array[$i] = $year_value　．"年" . ($i+1)."月";
         }
       ```
   
 * で OK です。
 *  トピック投稿者 [suekiki](https://ja.wordpress.org/support/users/suekiki/)
 * (@suekiki)
 * [14年、 1ヶ月前](https://ja.wordpress.org/support/topic/1%e5%b9%b4%e5%88%86%e9%81%8e%e5%8e%bb%e3%82%82%e6%9c%aa%e6%9d%a5%e3%82%82%e3%81%ae%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a/#post-151194)
 * kzさん、ありがとうございます。
    お陰でやりたい事が実現しました！
 * 記事のない月にも年が無事表示されてます↓
    ————————————— 2012年1月　2012年2月　
   2012年3月　2012年4月　2012年5月　[2012年06月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   [2012年07月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   [2012年08月](https://ja.wordpress.org/support/topic/1%E5%B9%B4%E5%88%86%E9%81%8E%E5%8E%BB%E3%82%82%E6%9C%AA%E6%9D%A5%E3%82%82%E3%81%AE%E6%9C%88%E5%88%8A%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%8A/?output_format=md#)
   2012年9月　2012年10月　2012年11月　2012年12月 ————————————— 投稿記事(リンク)の
   ない1桁の月に、0が付かないのが気になりますすが…、こちらはまた検索してみます。
 * sysbirdさん、kzさん、貴重なお時間をありがとうございました(^^)
 *  [kz](https://ja.wordpress.org/support/users/kz/)
 * (@kz)
 * [14年、 1ヶ月前](https://ja.wordpress.org/support/topic/1%e5%b9%b4%e5%88%86%e9%81%8e%e5%8e%bb%e3%82%82%e6%9c%aa%e6%9d%a5%e3%82%82%e3%81%ae%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a/#post-151197)
 * > 投稿記事(リンク)のない1桁の月に、0が付かない
 *     ```
       $month_array[$i] = $year_value　．"年" . zeroise( $i+1, 2 )."月";
       ```
   
 * で！
 *  トピック投稿者 [suekiki](https://ja.wordpress.org/support/users/suekiki/)
 * (@suekiki)
 * [14年、 1ヶ月前](https://ja.wordpress.org/support/topic/1%e5%b9%b4%e5%88%86%e9%81%8e%e5%8e%bb%e3%82%82%e6%9c%aa%e6%9d%a5%e3%82%82%e3%81%ae%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a/#post-151198)
 * kzさん、ありがとうございます。
    カラ記事の1桁の月に、0が付きました！
 * とっても嬉しいです(^o^)
    本当にありがとうございました。

11件の返信を表示中 - 1 - 11件目 (全11件中)

 トピック「1年分(過去も未来も)の月刊アーカイブを表示しておく。」には新たに返信する
ことはできません。

## タグ

 * [wp_get_archives](https://ja.wordpress.org/support/topic-tag/wp_get_archives/)
 * [月刊アーカイブ](https://ja.wordpress.org/support/topic-tag/%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96/)

 * フォーラム: [使い方全般](https://ja.wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 11件の返信
 * 3人の参加者
 * 最後の返信者: [suekiki](https://ja.wordpress.org/support/users/suekiki/)
 * 最後の活動: [14年、 1ヶ月前](https://ja.wordpress.org/support/topic/1%e5%b9%b4%e5%88%86%e9%81%8e%e5%8e%bb%e3%82%82%e6%9c%aa%e6%9d%a5%e3%82%82%e3%81%ae%e6%9c%88%e5%88%8a%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a/#post-151198)
 * 状態: 解決済

## トピック

### 人気のトピック

### 返信がないトピック

### サポート関連ではないトピック

### 解決済みのトピック

### 未解決のトピック

### すべてのトピック
