昨今の WordPress 人気にあやかって、「WordPress スニペット」とか「WordPress functions.php カスタマイズ」とかで検索すると、functions.php を使ってできる簡単なカスタマイズ方法が出てきます。
これらを functions.php で管理してるとテーマを変更した時とか、コピペしなおさなきゃ行けなくなって面倒くさいことこの上ありません。
このカスタマイズやっぱ要らないなーとか思っても、すでにどこに書いていたか分からなくなっちゃうなんてこともしばしば。
そんなわけで、私はこれらのスニペットについては簡単なプラグインを作って管理してます。
# 昔は my-hacks.php ってファイルを使って管理できたんですが、WordPress 2.8 以降から非推奨になっちゃいました。

プラグインのソースは、こんな感じです。
これを wp-content/plugins ディレクトリの下に hacks とかってディレクトリを作って hacks.php とかって名前で保存してください。

<?php
/*
Plugin Name: Hacks
Plugin URI:
Description:
Version: 0.1
Author:
Author URI:
*/
$hack_dir = trailingslashit(dirname(__FILE__)) . 'my-hacks/';
opendir($hack_dir);
while(($ent = readdir()) !== false) {
	if(!is_dir($ent) && strtolower(substr($ent,-4)) == ".php") {
		include_once($hack_dir.$ent);
	}
}
closedir();
?>

プラグインを有効化する前にプラグインが入っている hacks ディレクトリの下にさらに my-hacks ってサブディレクトリを作成しておきましょう。
このプラグインを有効にすると wp-content/plugins/hacks/my-hacks ディレクトリにある拡張子が .php なファイルをすべて読み込んでくれます。
追加したいスニペットがあったら、それを一つずつ php ファイルに書いて wp-content/plugins/hacks/my-hacks ディレクトリに保存してやればOK。
スニペットを使用したくなくなったら wp-content/plugins/hacks/my-hacks ディレクトリの該当 php ファイルを消してやれば良いです。

こうやって、簡単なプラグインを作っておくとテーマを変更しても functions.php にスニペットを追加しなくて良いので、管理がラクチンになりますね。

トラックバック & ピンバック » 表示する

コメント

  • Japan Windows Sleipnir 2012年5月12日 土曜日 2:00 AM

    プラグインを使わずいろんな機能をfunctionsに盛り込んで一生懸命サイトを作っても、
    テーマはやっぱり完成形ってなくて、その時十分に吟味して作ったつもりでもやがて変更(機能面やデザイン面)の時期が来ますよね。
    そのときやっぱり管理の容易性が出てくるのでこの記事は役に立っています、ありがとうございます。

  • twitter 2012年5月9日 水曜日 10:22 AM

    @xxmiz0rexx @glatyou をかもとさんのサイトの記事が役に立ちますよ~ !w 更新しても消えることないですしw ※メンテは必要ですが っhttp://t.co/wOQzAlBy

  • twitter 2012年1月29日 日曜日 11:43 PM

    おおー!これは素晴らしや!functions.phpがカオスなんで助かる。WordPress+でスニペットを簡単に管理する方法 http://t.co/s4EipOe3

  • twitter 2012年1月25日 水曜日 2:50 PM

    整理整頓が上手になった気分。 WordPress+でスニペットを簡単に管理する方法 http://t.co/76sszFFk

  • twitter 2012年1月22日 日曜日 7:38 PM

    ショートコードとか、プラグイン管理画面でいちいち管理するほどのものでもないのもこれ使うと楽でいい → WordPress+でスニペットを簡単に管理する方法 http://t.co/HY7iL3V7

  • twitter 2011年12月3日 土曜日 1:15 AM

    @wpgogo 同じようなこと考える人は居るのね。 http://t.co/zokgZ9hM

  • twitter 2011年8月13日 土曜日 11:12 AM

    WordPress+でスニペットを簡単に管理する方法 http://t.co/xRl1OfG

  • twitter 2011年5月30日 月曜日 11:37 AM

    メモ: 管理画面からチェックボックスでオンオフできるプラグイン作りたい / WordPress でスニペットを簡単に管理する方法 : dogmap.jp http://htn.to/QsGeLF

  • hatena bookmark 2011年5月30日 月曜日 11:37 AM

    メモ: 管理画面からチェックボックスでオンオフできるプラグイン作りたい

  • twitter 2011年5月30日 月曜日 11:36 AM

    これは便利そうなワザ。 QT @wokamoto: @Stocker_jp @take_it02 スニペット管理用の簡単なプラグインを作っておくのもオススメ。 http://bit.ly/l7iv2d

  • twitter 2011年5月2日 月曜日 4:57 PM

    @TAHIR0U それと、そのままfunctions.phpに書き込むとWPアップデートで影響うけるので、プラグイン化する方法がこちら http://bit.ly/loK3Ws に載ってますので、使ってみて下さいw

  • twitter 2011年4月24日 日曜日 9:45 AM

    @m_kng あぁそうそう、functions.phpに追加するよりも便利なプラグインがあるよw テーマファイルのfunctions.phpを汚さないですむから ココみてみるといいよw http://goo.gl/iKv5g

  • twitter 2011年4月20日 水曜日 10:55 AM

    WordPress でスニペットを簡単に管理する方法 : dogmap.jp http://bit.ly/fw8H3K #wordpress

  • hatena bookmark 2011年4月20日 水曜日 10:18 AM

    WordPress でスニペットを簡単に管理する方法 : dogmap.jp

  • twitter 2011年4月20日 水曜日 10:03 AM

    WordPress でスニペットを簡単に管理する方法 : dogmap.jp http://bit.ly/ifCZOu

  • twitter 2011年4月19日 火曜日 3:07 PM

    WordPress でスニペットを簡単に管理する方法 : dogmap.jp http://bit.ly/eRQmF6

  • twitter 2011年4月19日 火曜日 3:03 PM

    WordPress でスニペットを簡単に管理する方法 : dogmap.jp http://bit.ly/hW8Tpn

  • twitter 2011年4月19日 火曜日 3:03 PM

    『WordPress+でスニペットを簡単に管理する方法 http://t.co/KsTb8VH
    functions.phpへの記述ではなく、“サブディレクトリ”を使ったプラグイン化。

  • twitter 2011年4月19日 火曜日 2:51 PM

    WordPress でスニペットを簡単に管理する方法 : dogmap.jp: 昨今の WordPress 人気にあやかって、「WordPress スニペット」とか「WordPress functions.php カスタマイ… http://bit.ly/hW8Tpn

  • twitter 2011年4月19日 火曜日 2:48 PM

    WordPress でスニペットを簡単に管理する方法: 昨今の WordPress 人気にあやかって、「WordPress スニペット」とか「WordPress functions.php カスタマイズ」とかで検索すると、f… http://bit.ly/fwWnVr

  • twitter 2011年4月19日 火曜日 2:45 PM

    WordPress でスニペットを簡単に管理する方法 http://su.pr/AskUOI

コメントする

入力いただいたメールアドレスから Gravatar に登録されているアイコンを表示します。
(メールアドレスは公開されません)

改行と段落タグは自動で挿入されます。メールアドレスは表示されません。

:mrgreen: :-P :-D :-) ;-) :-o :-| :-( 8-O :-? 8-) :twisted: :evil: :oops: :roll: :cry: :lol: :-x more »