Archive for the コードリーディング Category

とあるプラグインから、別のプラグインのファイルを読み込む方法

プラグインを開発している時に、別のプラグインのファイルを読み込んで使いたいケースで使えるTipsです。

require_once(WP_PLUGIN_DIR . '/plugin-name/plugin-file.php');

とすると、無事に読み込むことができます。

ポイントは、WP_PLUGIN_DIRを使っているところです。これをbloginfo()plugins_url()などの関数を使ってやろうとすると、以下のエラーが出てしまいます。

http:// wrapper is disabled in the server configuration by allow_url_include=0

http:// を含む読み込みを無効にするphpの設定に引っかかるのです。
参考:allow_url_include | PHP: 実行時設定 – Manual

なぜ、WP_PLUGIN_DIRであれば大丈夫なのかといいますと、この定数は、/var/www/から始まるフルパスなので、http://を含まないのであります。

@HissyNCさん、 @odysseyさん、ありがとうございました!

今回は、マルチサイト用のプラグインで両方とも自作、片方はネットワーク有効化、もう一方は普通に有効化したいというケースだったので読み込みました。これが他の人のプラグインを読み込むということになると、読み込み先が更新されると動かなくなりますので、丸ごとコピーした方がよさそうですね。

hissyの以下の一行ツイートがイケメン過ぎですね。

wpmu_signup_user_notification()とadmin_created_user_email()関数の周辺を読む

wp-includes/ms-functions.phpにあるwpmu_signup_user_notification($user, $user_email, $key, $meta = '')と、
wp-admin/user-new.phpにあるadmin_created_user_email( $text )という関数とその周辺を読みました。

Continue reading wpmu_signup_user_notification()とadmin_created_user_email()関数の周辺を読む

[コードリーディング]wpmu-delete-blog()関数を読む!

WordPressのマルチサイトで、子ブログを削除するwpmu-delete-blog()という関数を読んでいきたいと思います。

Codexは英語版でも何も書かれてません。(定義場所だけ書いてるけど(´・ω・`))。

定義は、wp-admin/includes/ms.phpです。msはmulti-siteの事なので、このファイルを通して読むとよさそうです。

バージョンは、3.2.1です。

Continue reading [コードリーディング]wpmu-delete-blog()関数を読む!