WordPressで、タグクラウドがいつも同じものしか表示されないのでランダムで表示してみた
WordPressのタグは限りなく投稿が可能。
でも、デフォルトの状態だと登録名順でしか表示されないので、どれだけたくさん入力しても、最初に登録した30個しか表示されない。
これをランダムで表示させるようにしたい。
functions.phpへの記述で、使用頻度で抽出させることはできる
//タグクラウドの順番を使用頻度で function my_tag_cloud($args) { $myargs = array( 'orderby' => 'count', //'name'タグ名(初期値), 'count'使用回数 'order' => 'RAND', //'ASC'昇順(初期値), 'DESC'降順, 'RAND'ランダム 'number' => 50 // 表示数 '0'と書くと全てのタグを出力 ); $args = wp_parse_args($args, $myargs); return $args; } add_filter( 'widget_tag_cloud_args', 'my_tag_cloud' );
これで、使用頻度の高い順に50個抽出して、それをランダムに並べなおして表示。
とすることができる。
ただし、これだと、使用頻度が低いモノまで含めて50個をランダムに抽出して並べることはできない。
使用頻度に関わらず、全てランダムに抽出する方法は?
number を 0 にして無制限に全部抽出してからランダムに並び替える。
wp-includes/category-template.php
に wp_tag_cloud() のソースが書いてあるので、その辺をいじくって、出力する個数を50個にする。
で抽出。
とする必要がある。