フォーラムへの返信

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック投稿者 suekiki

    (@suekiki)

    jim912さん

    早々のご返答、ありがとうございます。
    降順に表示されました!

    感謝いたします(^^)

    トピック投稿者 suekiki

    (@suekiki)

    kzさん、ありがとうございます。
    カラ記事の1桁の月に、0が付きました!

    とっても嬉しいです(^o^)
    本当にありがとうございました。

    トピック投稿者 suekiki

    (@suekiki)

    kzさん、ありがとうございます。
    お陰でやりたい事が実現しました!

    記事のない月にも年が無事表示されてます↓
    —————————————
    2012年1月 2012年2月 2012年3月 2012年4月 2012年5月 2012年06月 2012年07月 2012年08月 2012年9月 2012年10月 2012年11月 2012年12月
    —————————————
    投稿記事(リンク)のない1桁の月に、0が付かないのが気になりますすが…、こちらはまた検索してみます。

    sysbirdさん、kzさん、貴重なお時間をありがとうございました(^^)

    トピック投稿者 suekiki

    (@suekiki)

    kzさん、ありがとうございます。
    年が表示されました(^^)↓のようになってます。
    1月 2月 3月 4月 5月 2012年06月 2012年07月 2012年08月 9月 10月 11月 12月

    できれば、記事のない月も
    文字列として(2012)年を表示しておきたいのですが
    可能でしょうか?

    アドバイスいただければ幸いです。

    トピック投稿者 suekiki

    (@suekiki)

    アドバイス方、ありがとうございます。
    やりたい事にだいぶ近づきました。
    スマートではありませんが、以下のように変えてみました。

    <?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月 07月 08月 9月 10月 11月 12月

    表示のように、2012年が表示がされません。
    ★部分の文字を削除する「ltrim()」を省いてみましたが、年の表示はダメのようです。
    何度もすみませんが、アドバイス方よろしくお願いします。

    トピック投稿者 suekiki

    (@suekiki)

    アドバイス、ありがとうございます。
    ただプログラムが書けないので「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年分にしたいです。

    再度、ご教授のほどよろしくお願いします。

    トピック投稿者 suekiki

    (@suekiki)

    <?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月
    2012年07月
    2012年06月

    投稿記事のある3か月分です。
    投稿記事のない月(1~12月の1年分)も文字列として表示しておきたいのですが、
    コーディングがわかりません。

    どうぞ、お力をおかしください。

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