Skip to content
2012/11/14 / Javelina

WordPressとWPtouchのfunctions.phpにおける共通したfunctionついて

WordPressのfunctions.phpとWPtouchのfunctions.phpに、同じ関数名で同じ処理を記述したfunctionを追加する事が結構あるのですが、全く同じ内容なのにfunctions.phpをそれぞれアップデートしなければならないのが地味に面倒くさいな~と思うようになってきました。

そこで、テーマディレクトリの中に共通functionを記述するファイルを作って、それをそれぞれのfunctions.phpにインクルードするようにして、作業の簡略化を図ることに。
 

まず、テーマディレクトリに共通用ファイル(ここではfunction_bridge.phpとします)を作ったら、テーマディレクトリのfunctions.phpに以下のように記述↓
 

get_template_part('function_bridge');

 
続いて、WPtouchのテーマディレクトリのfunctions.phpには以下のように記述↓
 

include(function_bridge.phpの絶対パス);

 これでOK!
絶対パスを直接書きたくない場合は、以下のような感じで。

$wpcontentpath = explode('/plugins/',TEMPLATEPATH);
$function_bridge = $wpcontentpath[0] . '/themes/' . get_option('template') . '/function_bridge.php';
include($function_bridge);

PHP5.3以上であれば

$function_bridge = strstr(TEMPLATEPATH,'/plugins/',true) . '/themes/' . get_option('template') . '/function_bridge.php';
include($function_bridge);

でもいいですね。
get_option(‘template’)を使う事で、WPtouch上からPC用のテーマディレクトリ名を取得しています。
 

これで、共通したfunctionを追加したい時・手直ししたい時はfunction_bridge.phpをアップデートするだけで済むようになりました。やっていることはなんてことないんですが、おかげでfunctionの記述がかなり快適になりました~。
 

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。