WordPress:月別アーカイブwp_get_archivesを使いつつCSSでデザインしたいときのPHP

Contents

便利なアーカイブwp_get_archivesもデザインしたいときは困る

月別のアーカイブページを下のようなデザインにしたい。
LIFELOG 3
でも実際は、

wp_get_archivesを使うと、

LIFELOG 4
こんなふうに「○年○月」まで丁寧にでてしまう。

それだと困るのでPHPで修正。(ほぼ先輩だより)

やり方

目指すHTML

<ul>
	<li><a href="archives/date/2015/3"><span class="year">2015</span><span class="month">3</span></a></li>
	<li><a href="archives/date/2015/2"><span class="year">2015</span><span class="month">2</span></a></li>
</ul>

作成したコード

<ul>               
   <?php
        $list = wp_get_archives(array('echo' => 0)); //echoさせずに取得
        foreach (explode("n", strip_tags($list)) as $line)
        {
            $line = trim($line);
            if (!$line)
            {
                continue;
            }

            $year_month = explode('年', $line);
            $year_month[1] = preg_replace('/月/ui', '', $year_month[1]);

            echo "<li><a href="archives/date/{$year_month[0]}/{$year_month[1]}"><span class="year">{$year_month[0]}</span><span class="month">{$year_month[1]}</span></a></li>";
        }
    ?>
</ul>

これで
LIFELOG 3
思ったとおりのデザインになりました。
(CSSは省略)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA