オブジェクトキャッシュを使用しているなら、少しでもキャッシュを利用出来るもので表示させたいです。特別に凝った表示をしないなら、WordPress 実装のものを素直に利用した方が楽できます。ちりも積もれば山となるで、少しずつですがクエリーを減らすことが出来ます。と言う事で、何がキャッシュ可能か調べて表示を変えてみました。
WP File Cache を利用して、オブジェクトキャッシュを実現しています。その他のプラグインでも同じかと思いますが、自身で確認して下さい。
WP File Cache を使用している場合、以下のようなフォルダー構成が出来ていると思います。その他のプラグインでも、だいたい似た感じではないでしょうか?
このフォルダーが、WordPress で利用できるオブジェクトキャッシュの場所を示しています。フォルダーを参考に WordPress のファイルなどを調べてみて、wp_cache_get や wp_cache_set などが使用されているか探してみます。あればそれらのテンプレートタグを利用すれば、オブジェクトキャッシュの対象になる事になります。
Recent Posts
/wp-includes/general-template.php に以下のように記述があります。これは wp_get_archives がオブジェクトキャッシュの対象になっている事を示しています。そして general フォルダーにキャッシュができるようになっています。

wp_get_archives
以前は以下のようにして使用していました。凝った表示を追加しやすい記述ですが、通常の羅列表示なら wp_get_archives を使用してオブジェクトキャッシュの対象にしたいです。
<ul>
<?php
$number_recents_posts = 10;
$recent_posts = wp_get_recent_posts( $number_recents_posts );
foreach($recent_posts as $post){
echo '<li><a href="' . get_permalink($post["ID"]) . '" title="'.$post["post_title"].'" >' . $post["post_title"].'</a> </li> ';
} ?>
</ul>
上記を、以下に変えました。最新記事から、10件を表示する事になります。
<ul>
<?php wp_get_archives('type=postbypost&limit=10'); ?>
</ul>
/wp-includes/default-widgets.php で、widget_recent_posts が対象になっている事が確認できました。ウィジェットを使用するか、個別にウィジェットを呼び出した場合に対象になります。
<?php the_widget( 'WP_Widget_Recent_Posts' ); ?>
以下のように使用すると、個別に表示する場合に便利です。自身の環境に合わせて使ってください。
<?php the_widget('WP_Widget_Recent_Posts', 'title=Recent Posts&number=10', 'before_widget=<div id="recent-posts" class="widgets">&after_widget=</div>&before_title=<h3 class="widgettitles">&after_title=</h3>'); ?>
general フォルダーに、以下のようなキャッシュファイルが出来てれば成功です。ウィジェットの場合も、widget フォルダーにキャッシュファイルが確認できると思います。

wp_get_archives.cache
これらを使うことにより、クエリーを1つ減らすことができました。たかが1クエリーですが、どうせ同じ表示なら減らせるものを使った方が良いですね。
Recent Comments
以前は独自に記述したものを使っていたのですが、デフォルトの表示に変えました。デフォルトのインライン表示は好きではないのですが、手軽にキャッシュ対象にしたかったので仕方ないです。
ウィジェットで呼び出せば、手軽に利用できると思います。それが以下です。
<?php the_widget( 'WP_Widget_Recent_Comments' ); ?>
調整したい場合は、以下のような感じで環境に合わせて使ってください。
<?php the_widget('WP_Widget_Recent_Comments', 'title=Recent Comments&number=5', 'before_widget=<div id="recent-comments" class="widget">&after_widget=</div>&before_title=<h3 class="widgettitle">&after_title=</h3>'); ?>
widget フォルダーにキャッシュファイルが出来ていると思います。

widget_recent_comments.cache
これで以前の表示から1つ減りました。
Archives
wp_get_archives で思いつくのはアーカイブの表示です。プラグインなどで表示を変えていない場合、ほとんどの方が既に以下のように使用していると思います。以下は、ドロップダウンの場合の例です。
<select name="archive-dropdown" onChange='document.location.href=this.options[this.selectedIndex].value;'>
<option value=""><?php echo attribute_escape('月を選択'); ?></option>
<?php wp_get_archives('type=monthly&format=option&show_post_count=1'); ?>
widget フォルダーにキャッシュファイルは出来ないのですが、general フォルダーにキャッシュが出来ます。wp_get_archives と同じような感じで使用できます。
<?php the_widget('WP_Widget_Archives', 'dropdown=1'); ?>
調整したい場合は、以下のような感じで環境に合わせて使ってください。
<?php the_widget('WP_Widget_Archives', 'title=Archives&count=1&dropdown=1', 'before_widget=<div id="archives" class="widget">&after_widget=</div>&before_title=<h3 class="widgettitle">&after_title=</h3>'); ?>
その他、通常月別表示などを使用した場合も、キャッシュ対象になります。お好きな方法で使用してください。そしてクエリー1つ確保です。
個人的な意見ですが、wp_get_archives でアーカイブを表示した場合は、最近の記事をウィジェットで表示した方が安全に使えるかもしれません。表示場所が違ったりした場合、キャッシュファイルの追加や上書き、削除などが余分に発生しそうです。その辺は環境により、色々と試してみてください。
Calendar
カレンダーは意外とクエリーが増えるので、使用しない人も多いかと思います。そういう意味でも、何度も問い合わせしたくないです。元々、専用の calendar フォルダーが出来ているので、通常の以下でOKです。あまり独自の方法で使用している人は、たぶんいないと思いますが・・・。とりあえず書いておきます。
<?php get_calendar( 'daylength' ); ?>
widget フォルダーにキャッシュファイルは出来ないのですが、以下で calendar フォルダーにキャッシュが出来ます。get_calendar と同じような感じで使用できます。
<?php the_widget('WP_Widget_Calendar'); ?>
以下調整用です。環境に合わせて使ってください。
<?php the_widget('WP_Widget_Calendar', 'title=Calendar', 'before_widget=<div id="calendar" class="widget">&after_widget=</div>&before_title=<h3 class="widgettitle">&after_title=</h3>'); ?>
calendar フォルダーにキャッシュファイルが出来ていると思います。

get_calendar.cache
カレンダーは3つ位のクエリーを吐いていそうですが、私の環境では正確なクエリー数の把握が難しかったです。一度、真っさらにすればいいんだけど、流石に面倒でした。
ここまでのまとめ
ここまでが、個別にキャッシュが設定されていたものです。なんて事はない、一般的な記述を使えばキャッシュ対象になると言う事です。特別に凝ったことをしていなければ、ほとんど使用している事が多いかもしれません。プラグインなどでも、wp_cache_get などが使用されていればキャッシュ対象になります。あまりないような気がしますが、そういうものを選ぶようにすればクエリー的には得します。
メニュー
WP File Cache では wp_nav_menu がキャッシュ対象になっているので、ページやカテゴリーなどに利用すると便利だと思います。1つのファイルにまとまるので、あまり頻繁に変更が加わらないものに使うと良い感じです。

nav_menu フォルダー
使用している数だけ、キャッシュファイルが出来ると思います。ここでは1つだけ使用しているので、1つできています。

nav_menu キャッシュファイル
以下は Twenty Ten に実装されているものです。functions.php に追加して下さい。
function twentyten_page_menu_args( $args ) {
$args['show_home'] = true;
return $args;
}
add_filter( 'wp_page_menu_args', 'twentyten_page_menu_args' );
表示したい場所に以下を追加して下さい。
<?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) ); ?>
キャッシュが利用できてるっぽいもの
個別にキャッシュファイルはできてはいないのですが、キャッシュを利用できている感じのものです。私の環境では、表示と非表示を比べてもクエリーの増減がみられませんでした。もはや書くまでもないと思いますが、とりあえず書き留めておきます。
Tag Cloud
個別のタグファイルから引っ張ってきているのかな?
<?php wp_tag_cloud('smallest=8&largest=21&unit=pt&number=50&format=flat&orderby=count&order=DESC&exclude=&include='); ?>
<?php the_widget( 'WP_Widget_Tag_Cloud'); ?>
<?php the_widget('WP_Widget_Tag_Cloud', 'title=Tags', 'before_widget=<div id="tag-cloud" class="widget">&after_widget=</div>&before_title=<h3 class="widgettitle">&after_title=</h3>'); ?>
Categories
これも引っ張ってきているぽいです。以下はリストカテゴリーの例です。
<?php wp_list_categories( array( 'orderby' => 'count', 'order' => 'DESC', 'show_count' => 'TRUE', 'title_li' => '', 'number' => '10' ) ); ?>
<?php the_widget('WP_Widget_Categories', 'hierarchical=1&count=1'); ?>
<?php the_widget('WP_Widget_Categories', 'title=Categories&count=1&hierarchical=1', 'before_widget=<div id="categories" class="widget">&after_widget=</div>&before_title=<h3 class="widgettitle">&after_title=</h3>'); ?>
その他
基本的に一般的なテンプレートタグやウィジェットなどを使用することにより、キャッシュを利用出来る確率が高いと思います。使用しているプラグインなどにより、多少の違いはあると思いますが。その辺は、確認しながら使用してみて下さい。
最後に
凝った表示にする場合、ウィジェットを使用するのは不便になるので使用していませんでした。でもデフォルト表示する場所で使うなら、かなり使い勝手が良い気がします。全体をウィジェット化するのは不便になるので、個別に呼び出す使い方が私には合っています。色々と組み合わせて使ってみると良いのではないでしょうか。




