質問: アクション、機能、および条件 テーマやプラグインを開発するときには、条件付きステートメントを使ってフックに機能を追加する必要がある場合があります。例:function my_custom_function() { if( is_home()) { <---what should the function do---> } } add_action( 'some_hook', 'my_custom_function' ); 私の理解するところでは、他の条件が存在するときはいつでも(is_homeはfalseを返す)、関数の内容は実行されませんが、関数は「空」であるにもかかわらず実行されます。これは空の関数がフックに渡されることを意味します。これは、コンディショナルタグを使用してすべての例がコーデックスに表示される方法です。私はこれが安全であることを理解しています、そしてそれはロード時間に少しの影響も与えるべきではありません(ロード時間に少しでも影響があるなら)。私は考えていた、例として、同じコードの一部は、次のように書くことができますif( is_home()) { function my_custom_function() { <---what the function should do---> } add_action( 'some_hook', 'my_custom_funtion' ); } is_homeがfalseを返す場合、これはすべてを完全にスキップします。これら2つの方法のどちらを使用しても構いません。しかし、私が知りたいことは、最初の例が広く使われているので、これが正しい使用方法である、あるいはワードプレス開発者によるとむしろ好ましい方法である、あるいは単に個人的な好みであると述べるコーディング標準です。
回答: wordpressのコーディング標準php については何も述べられていませんし、他に標準もないので、どちらを選択するかは開発者次第です。私は2つの方法は異なるアプローチを持っていると言わざるを得ない。最初のものには条件付きロジックが含まれていますが、2番目のものは条件付き関数の宣言です。つまり、関数を呼び出そうとすると、致命的なエラーが発生します。関数が実行される最初の方法を使用したとしても(アプリケーション負荷では関係のないlostと非常に最小限の影響で)、それを使用するのがより良い方法です。 2番目の方法を使用すると、アプリケーションのビジネスロジックは関数からファイル解析に移動します。さらに、言及していない3つ目の方法があることを考慮する必要があります。function my_custom_function() { // what the function should do } if ( is_home() ) { add_action( 'some_hook', 'my_custom_function' ); } oopプログラミングを使用すると、このアプローチの利点はよりわかりやすくなります。その場合は、クラスの条件付き宣言は意味がありません(メソッドの条件付き宣言はまったく不可能です)特定の条件下でのみタスクを実行します(フックの起動)。