ホームページ  >  記事  >  バックエンド開発  >  クイック ヒント: 現在の画面のフック関数を取得する

クイック ヒント: 現在の画面のフック関数を取得する

WBOY
WBOYオリジナル
2023-09-02 22:41:091115ブラウズ

可能な限り、より汎用的な initadmin_initadmin_footer などではなく、画面固有のフックを使用することをお勧めします (特に指定しない限り)。すべての画面でコールバックを実行したい)。この簡単なヒントでは、特定のページのスクリーン フックを簡単に取得する方法を学びます。


ページ固有のフック

ページ固有のフックは、必要な画面に対してのみコールバックを行う最も効率的な (そして最もクリーンな) 方法を提供します。それらには次のものが含まれます:

  • load-{page-hook} – 画面がロードされる前に呼び出されます (このロジックはここにあります)
  • admin_print_styles-{page-hook} – 管理者ページの での印刷スタイルの操作
  • admin_print_scripts-{page-hook} – 管理者ページの での印刷スクリプト操作
  • admin_head-{page-hook} – 管理ページ 内でトリガーされるアクション
  • admin_footer-{page-hook} – 管理ページの 終了タグの上でトリガーされるアクション
しかし、特定のページに対する

{page-hook} の価値は何でしょうか?特に load-* フックを見ると、{page-hook} の決定に非常に複雑なロジックが関与していることがわかります。特に、カスタム プラグイン ページは「コア」ページ (投稿タイプやカテゴリ ページなど) とは異なる方法で処理され、下位互換性のために、投稿、ページ、またはカテゴリを編集するときに同じ画面上で複数のフックが使用されます。

{page-hook}

値の選択に関する一般的なルールは次のように要約できます:

    add_menu_page()
  • (および関連関数) を介して追加されたカスタム管理ページの場合、これは 画面 ID (add_menu_page() によって返される値) です。 あらゆる投稿タイプの投稿をリストする管理ページの場合は、
  • edit.php
  • です。 どの投稿タイプの「新規追加」ページでも、
  • post-new.php
  • になります。 投稿タイプの編集ページは
  • post.php
  • です。 カテゴリページの場合は、
  • edit-tags.php
  • です。
  • ページ フックがどのように生成されたとしても、最終的にはグローバル
$hook_suffix

に保存されます。

画面を取得するための簡単なフック

一般に、これらのルールはページ固有のフックを決定するのに十分です。しかし、彼らと仕事をするときは、簡単なリファレンスがあると役立つことがよくあります。この簡単なリファレンスを作成するには、各画面の右上隅にある [ヘルプ] タブにパネルを追加します。このパネルには、画面の詳細 (画面 ID、画面ベース、最も役立つ画面の

フック接尾辞 #) がリストされます。 ##)。画面固有のフックもリストします。

[ヘルプ] タブのパネルは 3.3 で導入されたため、これは WordPress バージョン 3.3 でのみ機能します。パネルを追加するには、 em>contextual_help

フィルターを使用します。これは下位互換性を目的としたフィルターなので、実際には何もフィルターしません。代わりに、

WP_Screen::add_help_tab メソッドを使用します。 リーリー ヘルプ コンテンツを生成するには、グローバル $hook_suffix

を取得し、それを上記のフック ステムに追加します。また、

WP_Screen オブジェクトのプロパティとして保存されている画面の詳細のリストも取得します。 リーリー これにより、次のことが得られます:

クイック ヒント: 現在の画面のフック関数を取得する完全なコード


以下をサイトのユーティリティ プラグインに追加するか、(必要に応じて) テーマの

functions.php

に追加できます。

wptuts_screen_help の名前を必ず独自の名前に変更してください。 リーリー

以上がクイック ヒント: 現在の画面のフック関数を取得するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。