[WordPressプラグイン] Code Snippetsが便利すぎてもうfunctions.phpはイジりたくない

WordPressプラグイン

更新頻度的な意味で最近メインでも何でもなくなってきた感じの当サイトですが、実はこれ以外にも副サイトをいくつか運営していてそちらでは機能よりもデザイン重視でテーマを選んだりする場合があったりします。

そうなるとWordPress公式ディレクトリに登録されているテーマのお世話になる事もあるわけですが、中には選んだテーマが他のテーマの子テーマというケースがあって「カスタマイズは子テーマで」というWordPressのお約束が通用しない何とも悩ましい事に…

既にカスタマイズされた状態の子テーマなのでstyle.cssやfunctions.phpはまっさらな状態で無い事が多いですし、当然そこに自分で手を加えてもテーマの更新時には全て上書きされてしまいます。

かと言って子テーマの子テーマってのも…ねぇ?(てかそんなんどうやって作るんだって話も)いっそ居直って子テーマに拘るのをやめる方向で考え始めた時に出会ったのがこのCode Snippetsというプラグインでした。

Code Snippetsとは

ダッシュボードの管理画面から登録したコードをfunctions.phpに直接書いたかのように実行出来るというステキなプラグインです。まさにこういうのが欲しかったんですよね。

ちなみに公式の説明を機械翻訳につっこむととこんな感じでした。

Code SnippetsはあなたのサイトでPHPコードスニペットを実行するための簡単でクリーンでシンプルな方法です。これによりテーマのfunctions.phpファイルにカスタムスニペットを追加する必要がなくなります。

Code Snippetsの導入

ダッシュボードからCode Snippetsを新規追加でインストールするだけです。

そんな簡単に言われてもプラグインってどこからインストールするのかわかんないんですけど?という方はこちらのエントリーが参考になれば幸いです。

Code Snippetsの使い方

設定はダッシュボードの プラグインユーザー の間に Snippets という項目が追加されるのでそこから行います。サンプルが5つ無効化された状態で付属しているのでそれらを利用するのもありですが、自分でコードを追加する場合は Add New をクリックします。

内容の説明とコードを記述したら一番下にある Save Changes and Activate をクリックで保存&有効化します。

ちなみにこの画像のコードは投稿の最後にその投稿につけられたタグをタグクラウドとして表示するというものですが、実はこのまま使うと固定ページの内容が一切表示されなくなるという致命的なバグがあったので使っちゃダメです。絶対。

順番が前後しましたが保存&有効化する前に必要に応じて以下の4つからオプションを選択します、デフォルトでは Run snippet everywhere になっています。

  • Run snippet everywhere(スニペットをどこでも実行)
  • Only run in administration area(管理領域でのみ実行)
  • Only run on site front-end(サイトのフロントエンドでのみ実行)
  • Only run once(一度だけ実行)

管理画面では追加したコードをトグルボタンで個別にオン/オフ出来ます。まぁ頻繁に特定のコードだけオフりたい時ってのも無いと言えばそうは無いんですけど。

私のように時々やらかしちゃう人には割といい機能かも?とか思ってみたり。

真っ白画面の恐怖から解放

functions.phpと言えばうっかりミスで画面を真っ白にする事が稀によくあるので大袈裟に言うと「そいつに触れる事は、死を意味する!」的なむしろ触りたくないファイルのナンバー1的な存在ですが(私は割とよく見るのでかなり慣れましたけど)このプラグインはそうなる前にちょっと待った!してくれるんですね。

例えばこんな風にうっかり_(アンダースコア)を-(ハイフン)で書いちゃったとしましょう。

remove-filter( 'the_title’, 'wptexturize’ );

あービックリした(棒)

エラーメッセージに誰も知らない知られちゃいけないサーバーのディレクトリ構造までガッツリ入ってやがるのでさすがに思いっきりボカシてありますが「とりあえずブラウザのバックボタンで戻ってコードの間違いを修正してね?」的な事が書いてあります。

どこまでちゃんとチェックしてくれるかはわからないので絶対大丈夫!とまでは保証出来ませんが、こんな感じで簡単な文法チェックくらいはやってくれるので自分で直接functions.phpをイジるよりはるかに安心と言えるでしょう。

テーマを変更してもコードが有効

functions.phpにコードを書いていた場合は当然テーマを変更したら新しいテーマのfunctions.phpにも同じコードをコピペしないといけませんが、Code Snippetsはプラグインなので特に何もしなくてもそのままコードが引き継がれるというメリットもあります。

テーマから機能を分散させたい場合の選択肢として

WordPressのテーマをそれほど頻繁にとっかえひっかえする方はそれほどいないかもしれませんが、WordPress公式では本来いつでも気軽に変えられるようにという考えでテーマそのものに機能を盛りすぎないようにしてるんだと思いますし、私も最近その考え方にかなり賛成寄りになってきたという事もあって今はテーマに依存しすぎないサイト作りやコンテンツ内容にするよう心がけています。

そんなわけで私も今後このCode Snippetsのお世話になる事が増えそうです、たぶん。