Standing on the Shoulder of Linus

Home / 2013 / 10月 / 25 / WordPress プラグインでの関数名はプレフィックスを付ける

WordPress プラグインでの関数名はプレフィックスを付ける

WordPress プラグインでの関数名についてです。公式マニュアルプラグインの作成には、当然ですがガイドラインが記載されています。

プラグインにあるすべての関数は、他にない唯一の名前を持たなければなりません。WordPress コア、他のプラグインやテーマの関数と違うものにしてください。これに従う1つのうまい方法としては、プラグインの関数すべての名前に、唯一の前置詞を付けることです。他のもっと良いやり方としては、プラグインの関数をクラスの中で定義するという方法があります (クラスの名前は他にない唯一のものにする必要があります)。

WordPress のお作法に従っていない場合、どのような不都合があるでしょうか?

一番影響が大きいのは、関数名の衝突でしょう。ガイドラインに従って、前置詞(prefix)を付けるようにすれば、WordPress 本体の関数との衝突は避ける事が出来るでしょう。

WordPress 本体の関数と衝突すると、最悪の場合、バージョンアップで動かなくなります。

Fatal error: Cannot redeclare 関数名 in ファイル名

というエラーメッセージが表示される(ログに記録される)ことになるでしょう。

なので、プラグイン作成者は、プラグインで独自定義している関数名にはプレフィックスを付けるようにしてください。既に公開しているプラグインだと、変えるのは大変かもしれないですが。現在の WordPress は PHP5.2 系でも動くようになっているので、プラグインで名前空間を付けるのは避けた方がよいでしょう。

関連

Posted in WordPress | Tagged プラグイン, 衝突
← WordPress3.7がリリースされました。 WordPress セキュリティを考える会第三回を開催しました。 →

アーカイブ

人気の投稿とページ

  • キンドル本を印刷する(PDFに変換する)方法
  • 名古屋駅から国際センターまでの道のり(徒歩)
  • AGPL ライセンス(GPLとは似ているが違いもある)
  • 6年使ったイーモバイル(Y!mobile)を解約手続。店頭でSIM返却
  • JP-Secure SiteGuard WP Pluginは不正ログイン防止に役立つか

プロフィール

水野史土:月70万PVホームページ制作会社のレスキューワーク株式会社で、PHPソフトウェアのサポートを行っている。concrete5コミュニティリーダー、Novius OSコアコード貢献者でもある。 詳しくは管理者詳細参照。
大好評WordPress書籍「WordPressユーザーのためのPHP入門 はじめから、ていねいに。」サポートページ

Copyright © 2015 Standing on the Shoulder of Linus.