web-dev-qa-db-ja.com

プラグ可能な機能の基準は何ですか?

特定の関数がWordPressコアでプラグイン可能(オーバーライド可能)であり、他の関数ではプラグイン可能ではないのはなぜですか?(プラグイン可能関数に関するコーデックスのページで、フィルターの使用のためにこれ以上追加する必要がないことに注意してください。)

しかし、理論的には、それらすべてをプラグ可能にすることで、セキュリティへの影響やその他の懸念がありますか?それとも、プラグイン可能なコードが少なくなり、コアの更新との互換性が失われるのでしょうか?

2
majick

プラグ可能な関数は、フィルター/アクションよりも柔軟性がありません。

プラグイン可能な関数を1つだけ「アクティブ」にすることができるため、1つのプラグインのみがコア関数をオーバーライドできます。また、どのプラグインを使用するかについてはあまり制御できません(WPは最初に定義されるプラグ可能な関数を使用します)。

そのため、すべてのアクションがプラグイン可能な関数に置き換えられても、あまり役に立ちません。

一方、プラガブル関数を使用することには意味がある場合があります。 wp_mailは良い例だと思います。メールの送信方法を変更したい場合-できます。ただし、そのような関数は1つだけ必要です(それ以外の場合、それを変更する2つのプラグインをインストールすると、wp_email呼び出しごとに複数の電子メールが送信される可能性があります)。

したがって、アクションを1回だけ実行することが重要であるが、実行するアクションを正確に変更できるようにしたい場合はいつでも、プラグ可能を使用することは理にかなっています。

2