Home > WP Core Hacks | wordpress > [WPCH vol.01] ウィジェットをハック。タグクラウドのソート順を変更する

[WPCH vol.01] ウィジェットをハック。タグクラウドのソート順を変更する

WordPress は様々な動作を、テーマやウィジェットなどに記述することで拡張することができます。ただ、ほんのちょっとのことだったり、こうだと便利なのに!と思う部分を、全部テーマやウィジェットで書き直すのはまず面倒ですし、最終的に全体のパフォーマンスに影響を与えます。

というわけで、新しいウィジェットを書いたり、テーマファイルに特別な記述をしたりするよりも、ほんのちょっとだけコアのプログラムに手を入れて、ほんのちょっとだけ楽したり、自己満足したりするカテゴリーを立ててみました。

第一弾として、多くの人がブログとして使う際に利用しているであろう、タグクラウドの並び順を変更してみます。
ファイルは、wp-dir/wp-includes/widgets.php です。


// 1340行目付近

function wp_widget_tag_cloud($args) {
	extract($args);
	$options = get_option('widget_tag_cloud');
	$title = empty($options['title']) ? __('Tags') : $options['title'];

	echo $before_widget;
	echo $before_title . $title . $after_title;
// wp_tag_cloud 並び順変更(デフォルトは名前の昇順。カウントの降順にする)
//	wp_tag_cloud(); // この行をコメントし、下のようにする
	wp_tag_cloud(array('orderby' => 'count', 'order' => 'DESC'));
	echo $after_widget;
}

上記のように、wp_tag_cloud();を、wp_tag_cloud(array('orderby' => 'count', 'order' => 'DESC'));にすることで、使用頻度(count)の高い順(DESC)に出力させることができます。

function wp_tag_cloud()は、wp-dir/wp-includes/category-template.phpにあって、以下のように書かれています。


// category-template.php function wp_tag_cloud() 内

	$defaults = array(
		'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
		'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC',
		'exclude' => '', 'include' => ''
	);

というわけなので、これは次のように設定できることがわかります。


// 先の wp_tag_cloud()の呼び出し箇所

	wp_tag_cloud(array(
		'smallest' => 8,	// styleで定義されるフォントサイズ(小さい)
		'largest' => 22,	// 同上(最も大きい)
		'unit' => 'pt',		// フォントサイズのユニット(ex:pt,em,px)
		'number' => 45,		// リミッター(SQL の LIMIT 句に使われるので、多くのタグを使う場合増やすこと。)
		'format' => 'flat',	// 出力形式。list(デフォルト) と flat(内部的なデフォルト)が使える。array は未調査。
		'orderby' => 'name',	// ソートキー。name と count(内部的なデフォルト) が使える
		'order' => 'ASC',	// ソート順。DESC(降順) と RAND(ランダム) が使える。ASC(昇順)はデフォルト。
		'exclude' => '',	// 含まないタグID(未検証)
		'include' => ''		// 含みたいタグID(未検証)
	);

や、ぶっちゃけ、FC2ブログが同じようにできるらしくて、WPでもできない?って聞かれただけなんですけどね。

注:この情報は、WordPress 2.5 をベースに書かれています。また、WP自体をバージョンアップする場合に、ヘタに上書きしたり、逆に反映し忘れたりしないように、サブバージョン等でのファイル管理をお勧めします。

Comments:0

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://officel.biz/wordpress/wordpress-core-hacks-vol01.htm/trackback
Listed below are links to weblogs that reference
[WPCH vol.01] ウィジェットをハック。タグクラウドのソート順を変更する from Office L
pingback from WordPressでタグクラウドの並び順とフォントサイズを変更 | ┗| ┳|┛ 08-10-17 (金) 1:39

[...] ィジェットをハック。タグクラウドのソート順を変更する http://officel.biz/wordpress/wordpress-core-hacks-vol01.htm [...]

Home > WP Core Hacks | wordpress > [WPCH vol.01] ウィジェットをハック。タグクラウドのソート順を変更する

Search
Feeds
Meta


Return to page top