WordPressのタグクラウドに表示させる個数を変更する方法

Wordpressのタグクラウドに表示させるタグの個数を変更したい場合があるかも知れません。

デフォルトではWordpressのタグクラウドに表示される個数は、45個に設定されています。

これを編集します。

1.wp-includes/category-template.php を編集する


Wordpressのタグクラウドに表示させるタグの個数を指定しているのは、wp-includes内のcategory-template.phpを編集します。

その中にある、function wp_tag_cloudという項目で、パラメーターを指定することができます。


2.パラメーターの値を編集する


タグクラウドに表示させるタグの個数は、numberというパラメーターで指定しています。デフォルトでは45に設定されていますので、表示させたい個数に変更します。

その他のパラメーターの値の意味は、下記の通りです。

パラメーター
smallest 最小タグの表示フォントサイズ。
largest 最大タグの表示フォントサイズ。
unit smallest/largest の値の単位。pt, px, em, % 等。初期値はpt。
number クラウドに表示するタグ数。初期値は 45。0を指定すると全てを表示。
format クラウド表示のフォーマット。
flat – タグをホワイトスペースで区切る
list – タグを class=’wp-tag-cloud’ 付きの ul(番号なし箇条書き)内に表示
array – タグを配列に格納し、タグクラウドデータを PHP で扱えるように配列のまま返す。
orderby ソートに用いる項目。
name – タグ名
count – 使用数
order ソート順。
ASC – 昇順
DESC – 降順
RAND – ランダム
exclude 除外するタグの term_id をカンマ区切りで指定。
include 表示対象とするタグの term_id をカンマ区切りで指定。
link 特定のタグを編集できるようリンクを設定 。
view
edit
taxonomy クラウドの生成に使われるタクソノミー。
post_tag – クラウドのソースとして投稿タグを使う
category – クラウドのソースとして投稿カテゴリーを使う
link_category – クラウドのソースとしてリンクカテゴリーを使う
echo 結果を出力するか、変数として保存するかを決定する。
1 (true)
0 (false)


こうして、Wordpressのタグクラウドに表示させる個数を変更することができました。

WordPressでループの最初の記事だけに何かを挿入する方法

Wordpressでは、tagページやarchiveページは、記事の表示にループ出力が用いられています。

このようなページにおいて、ループの最初の記事だけに何かを表示させたい場合があります。

例えば、tagページにAdsenseを挿入したい場合、もしも、ループしているすべての記事の末尾に挿入してしまうと、複数のAdsenseが表示されてしまうことになり、規約違反となってしまいます。

または、ループの最初の記事だけにサムネイル画像を表示さえて強調させたいということがあるかもしれません。

そのような場合に、ループの最初の記事だけに何かを挿入する方法です。

下記は、tagページにおいて、最初の記事の末尾だけに広告を挿入する方法です。

tag.php内で、Start the Loopという項目を探し、下記のように編集します。

<?php /* Start the Loop */ ?>
<?php $first_flag_for_ad = true;?>
<?php while ( have_posts() ) : the_post(); ?>
<?php
/* Include the Post-Format-specific template for the content.
 * If you want to overload this in a child theme then include a file
 * called content-___.php (where ___ is the Post Format name) and that will be used instead.
 */
get_template_part( 'content', get_post_format() );
?>

<?php if($first_flag_for_ad) : ?>
<?php echo <<<EOD
【ここに挿入】
EOD;
?>
<?php $first_flag_for_ad = false;?>
<?php endif;?>
<?php endwhile; ?>
<?php twentyeleven_content_nav( 'nav-below' ); ?>
<?php else : ?>


上記を解説すると、$first_flag_for_adという変数を用意し、最初の出力が終わった段階で、Falseに変更します。While内でTrueの場合にだけ出力させることにより、実現させています。

こうして、Wordpressにおいて、ループ出力させているページの最初の記事だけに何かを表示させることができました。