WordPress のタグクラウド試行錯誤中 その 2

前回: 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 ヤッターだなヽ(・ω・)ノ

コメントを残す

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