パフォーマンス最適化
多くの利用者に使われるプラグインでは、処理速度がサイト全体のパフォーマンスに直結します。キャッシュとクエリ最適化の基本を解説します。
トランジェントAPIによるキャッシュ
重い処理の結果を一時的に保存し、再計算を省略できる仕組みが「トランジェントAPI」です。
<?php
function my_plugin_get_heavy_data() {
$cached = get_transient('my_plugin_heavy_data');
if ($cached !== false) {
return $cached;
}
$data = expensive_calculation(); // 重い処理
set_transient('my_plugin_heavy_data', $data, HOUR_IN_SECONDS);
return $data;
}
クエリの効率化
- 必要なカラムだけ取得:WP_Queryで
fieldsパラメータを指定し、不要なデータ取得を避ける - meta_queryの多用を避ける:カスタムフィールドでの絞り込みは、大量データでは遅くなりやすいため、可能ならカスタムテーブルの利用も検討
- N+1問題に注意:ループ内で毎回データベースへ問い合わせるのではなく、事前にまとめて取得する
アセット(CSS/JS)の条件付き読み込み
<?php
function my_plugin_enqueue_assets() {
if (!is_page('contact')) return; // 特定ページのみ読み込む
wp_enqueue_script('my-plugin-script', plugin_dir_url(__FILE__) . 'js/form.js');
}
add_action('wp_enqueue_scripts', 'my_plugin_enqueue_assets');
利用者向けの最適化とあわせてプラグイン全体の高速化については高速化・最適化完全ガイドも参照してください。