【wp】特定のページだけ指定のpluginを読み込ませる【plugin load filter】

wordpress

wordpressの高速化に役立ったり、特定のページや記事だけに指定のプラグインを使いたい時に役立つ【plugin load filter】

実はかなり前からインストールして、大雑把に設定していたんですが、最近になって記事ごとに使用していないpluginのcssやjsが目障りになってきたので、どうにかならないかと思っていたところ、「そういえばこのプラグイン記事ごとにも指定できるじゃん!?」と思い出しサイト改修を行い、かなり満足いく結果が出たので改めて紹介したいと思います。

体感速度的には、1.5倍くらいは早くなった感がある。

プラグインの概要

wordpressオリジナルテーマ【Celtis_s】や豊富な機能を持った【Celtispack】pluginを公開している、セルティスラボ – Programming Life blogさんが開発したwordpress pluginです。

プラグインを導入しすぎて、「サイトの表示速度や動作が重い・・・けど、どのプラグインも外せない、外したくない。」といった状況への対策や、単にwordpressの高速化の一手としても活躍してくれます。

記事では使用していないのにContact Form7とか要らんCSSやjsファイルをちゃっかり読みこんでくれやがりますので、そういった【その記事には必要ないplugin】が増えてくると、やっぱり遅くなるんですよ。

毎度コードを書いたりアプリを紹介したり、目次が必要な記事のボリューム・コンテンツだったりするわけが無いので、SyntaxHighlighterとか記事・要素の装飾系プラグインなんかは、その記事で使用していなければplugin load filterで読み込ませないのがベスト。だと思います。

【Celtispack】の中にも【plugin load filter】は含まれているので、他の機能も試して見たい場合はそちらのpluginを使用した方がいいと思います。(packの中も機能別にON・OFF出来る)

plugin load filterの使い方

ページ表示速度高速化の為に、記事で使っていないpluginを読み込ませないように設定してみました。

インストール後、plugin load filterの設定画面は【プラグイン】のメニュー内にあります。

設定画面
設定画面

plugin load filterの設定画面では、【フィルター登録】と【page filter有効プラグイン選択】に分かれています。

設定画面2
設定画面2

フィルター登録ページでは、各プラグインのフィルターを設定できます。

・通常ロード
フィルターを適用しない。デフォルトでは全てがここに設定されている。
・Admin
管理モード(ログイン中)の状態でのみ動作させるフィルター。
・Desktop & Mobile
wp_is_mobile関数を使用している場合、PCブラウザとモバイルでプラグインを有効/無効にできる。
・Page Filter
ページタイプや記事単位でプラグインを有効/無効に出来る。

Page filterを使えば、個別ページやカスタムページにも適用出来る他、記事単位での有効/無効の操作が出来ます。

設定画面3
設定画面3
page filterに登録したpluginは基本的には、全ページで無効になっているので、有効化したいフィルターを適用するのをお忘れなく。また、記事単位でのみ有効/無効をしたい場合は、どのフィルターにも登録せずに、記事投稿/編集ページで設定していきます。

記事単位でプラグインを有効/無効化する

記事投稿/編集ページを開くと、右下にpage filterプラグインのメニューが増えているので、こちらで有効化するプラグインをチェックしていきます。例えばこの記事では、コードを書いていないので【Mivhak Syntax Highlighter】は必要ないです。また、お問い合わせフォームもアプリ紹介もしていないので、有効化するプラグインは一つのみ。

設定画面4
設定画面4

ちなみに記事単位でプラグインを有効/無効にすれば、高速化にかなりの恩恵が得られるのですが、難点がひとつあります。

過去記事が大量にある場合、設定していくのが面倒!?

幸い(!?)このブログの記事数が少なかったので(170記事程度)1時間くらいで記事単位での設定は終わりました。

救いであったのが、記事投稿/編集画面でのpage filterプラグインの保存は、ajaxで行われるっぽいので、記事自体を更新して保存しなくても、フィルターの変更が反映されます。

作者様が作成されている解説記事もありますのでこちらもどうぞ。
WordPress Plugin : Plugin Load Filter – セルティスラボ

この記事が気に入ったら
『いいね』しよう!