質問: 含める方法 php プラグイン内のファイルの正しい方法 私の問題は、メインのプラグインファイルにphpファイルを含めたときです。include(wp_plugin_url . '/wordpress-group-buying/ipn/paypal-ipn.php'); // or include_once(wp_plugin_url . '/wordpress-group-buying/ipn/paypal-ipn.php'); // or require(wp_plugin_url . '/wordpress-group-buying/ipn/paypal-ipn.php'); // or require_once(wp_plugin_url . '/wordpress-group-buying/ipn/paypal-ipn.php'); そしてそのファイル上で私はwordpress関数のような呼び出しがあります:add_action('hook', 'callback'); そして私は得ます: 致命的なエラー:未定義の関数add_action()への呼び出し さて、あなたが "use if(**function_exists**('add_action')){"と言う前に、私がそれを使ったならば、それはただうまくいきません。質問: 正しい方法は何でしょうか。 include、include_once、requireの違いは何ですか?いつ魔女を使うのですか?
回答: 含める include()ステートメントは、指定されたファイルを組み込み、評価します。 1回だけ含める include_once()ステートメントは、スクリプトの実行中に指定されたファイルを組み込み、評価します。これはinclude()ステートメントに似た動作ですが、唯一の違いは、ファイルからのコードが既にインクルードされている場合、それは再びインクルードされないことです。名前が示すように、それは一度だけ含まれます。 必須 require()とinclude()は、失敗の処理方法を除いてあらゆる点で同一です。両方とも警告を生成しますが、require()は致命的エラーになります。言い換えれば、足りないファイルがページの処理を停止させたい場合はrequire()を使用することを躊躇しないでください。 一度だけ必要 require_once()ステートメントは、スクリプトの実行中に指定されたファイルを組み込み、評価します。これはrequire()文に似た動作ですが、唯一の違いは、ファイルからのコードがすでにインクルードされている場合、それは再びインクルードされないことです。 上記の情報はphpのドキュメントからのものです。正しいものはありません。コードの必要性によりますが、関数のような重要なものにはrequire()を使いますフッターやループ私はinclude_onceまたはincludeを使用しています。警告を処理し、fatal_errorではなくエラーを発生させているユーザー/訪問者に言うことができるからです。