フロントエンドにadmin_noticesのようなものはありますか?


11

私はWordpressに不慣れで、フレームワークをできるだけ活用しようとしています。フロントエンドでは、一元化されたメッセージ領域にエラー、成功、および一般的な通知を表示するために、バックエンドのadmin_noticesを介してそれらが処理される方法に似ています。フロントエンドに同様のフックがありません。

admin_noticesを模倣するために、フロントエンドでフックする必要があるアクションを尋ねていると思いますか?

回答:


6

デフォルトでは(テーマ内の)フロントエンドにはそのようなアクションはありません。次のようなカスタムアクションを使用するだけです

do_action( 'theme_notices' );

これにフックします。


これをもう少し詳しく見てみましょう...プラグインをテーマに依存しないようにしたい場合、do_actionを使用するよりもメッセージにグローバル変数を設定する方が理にかなっていますか?このようにして、テーマはどこからでもメッセージを出力できます。私が正しく理解していれば、do_actionはテーマファイルの特定の場所に配置されます。理想的には、テーマにプラグインとの明示的な統合がない場合、デフォルトでget_headerアクション中に通知を出力したいのですが、必要に応じて、テーマに別の場所に出力するオプションを提供します。それは理にかなっていますか?
mjleitch

デフォルトでは、テーマのどこにそのようなフックはまったくありません。グローバルを使用すると、名前空間が汚染されるだけです。そして、このようなカスタムフックを追加すると同じ効果があります(そしてどこでも、複数回使用することができます)に加えて、あなたのプラグインがアクティブでなく、グローバルに設定されていない場合には、エラーを周りスローしません。
カイザー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.