私はDrupal開発者で、Wordpressに入っています。私が言える限りでは、プラグインがWordpressサイトにコンテンツを出力することができるいくつかの異なる方法があります。
いつ、いつ使うのですか。そのようなトピックをカバーしている良い記事はありますか?
これはあなたが何を必要としているかに大きく依存します。
dynamic_sidebar()
sに入る小さなプラグインを構築するために使用され、それがそのような可能性を提供します。do_action()
-hooksまたはapply_filter( 'name', $args_1, $args_etc )
- filtersを提供するものをcore/themes/plugins/widgets/muplugins/dropinsに挿入または変更できます。 add_action( 'name', 'callback_function_name' );
と一緒に使うことができます(クラスメソッドアプローチ:add_action( 'name', array( $this, 'callback_method_name' ) );
)。だからあなたは好きなようにすべてを使うことができるが、あなたはそれをユーザにとってできるだけ簡単にするように試みるべきです。テンプレートタグを提供するのは一般的にはお勧めできません。メイン関数をフックにフックすることをお勧めします。ユーザーは自分のテンプレートに追加する必要があります:do_action( 'plugin_special_hook' );
。このようにして、あなたのプラグインが有効になっていない場合のエラーや警告/通知を避けます。
ウィジェットを使用している場合は、ユーザーが使用可能なオプションを調整するために使用できるUIがあります。
あなたがShortcodesまたはTinyMCEボタンを使うならば、あなたは出力を調整するための他の可能性を得ました。
フィルタやフックがあれば、ユーザが関与することなく出力が生成されます。あるいは、ユーザーが出力を調整できるSettings API管理ページがあります。
書き換えAPIは上記とは何の関係もありません - 出力に関するものではなく、リクエストのルーティングに関するものです。
MUプラグインはロード順でDropInsの直後に来て、最も早いフックmuplugins_loaded
にアクセスできます。それからあなたはplugins_loaded
フックでプラグインを手に入れました。それからプラグイン用のafter_setup_theme
フックがあります。それから残りはinit
で続きます。
通常、経験則では、UIではないものはすべてプラグインにドロップします。オプションがある場合は、通常のプラグインを使用し、それ以外の場合はmu-pluginを使用します。残りはテーマに入ります。または子テーマ(親テーマの更新の変更を失うことなく、親テーマファイルを上書きすることが可能)。
Pluggable.php関数を修正する必要がある場合は、DropInを使います。ヒント:プラグインを上書きしないでください。通常これはエラーが発生しやすいためです。
他にもいくつかのAPIがあります。 WP HTTP API、 、その他 。あなたがそれらを使うことを確かめなさい、そうでなければ空はあなたの頭の上に落ちるだろう(遅かれ早かれ)。