前回: WordPress のタグクラウド試行錯誤中
nic せんせーよりご指導いただきました(`・ω・´)
自分でやってみたもの。
<?php
$tags = get_tags('sort_column=menu_order');
foreach ($tags as $list) {
echo "\t\t\t\t\t" . '<li><a href="' . get_bloginfo('home') . '/tag/' . $list->slug . '" title="' . $list->name . ' に含まれる ' . $list->count . ' 件の投稿をすべて表示">' . $list->name . '</a></li>' . "\n";
}
?>
もっとスマートな方法があるそうでヽ(・ω・)ノ
nic せんせーよりご指導いただいて若干変更したもの。
<?php
$_tags = get_tags('sort_column=menu_order');
echo "\t\t\t\t\t";
foreach($_tags as &$list) $tags[] = sprintf(
'<li><a href="%1$s/tag/%2$s" title="%3$s に含まれる %4$s 件の投稿を全て表示">%3$s</a></li>',
get_bloginfo('home'), $list->slug, $list->name, $list->count
);
echo implode("\n\t\t\t\t\t", $tags) . "\n";
?>
劇的に見通しがよくなった!
こっちのがスマートかな。
・sprintf を使えば”どういったフォーマットで HTML を生成しているのか、と一つの変数を複数の場所で使いたい今回のケースのような場合に有効だよ。
・配列を implode() を使って改行区切りの一つの文字列にしてしまうと echo は一回で済むので経済的!
nic せんせーより
” とか . とか \ とか ‘ で意味不明になりかけていたコードがとても見やすくなりました。
これは「美しいコードを書いた」3 ヤッターだなヽ(・ω・)ノ