現在、WordPress 3.1.4を使用しています。私はどこ(どのフック)を使うのか混乱しています:
- 登録および/またはエンキューする
- スクリプトとスタイル
- フロントエンドとバックエンドで?
質問:
- 使用する正しいフックはどれですか?
- すべてのフロントエンドの登録/エンキュースクリプト/スタイルは
init
? - なぜないの
admin_print_styles-{xxx}
ですか?
現在、WordPress 3.1.4を使用しています。私はどこ(どのフック)を使うのか混乱しています:
質問:
init
?admin_print_styles-{xxx}
ですか?回答:
それは時間内でなければなりません-スクリプト/スタイルがページに出力されるために立ち上がるよりも早く、そうでなければ手遅れです。
それは条件付きでなければなりません-さもなければ、あなたはそれを必要としないものをロードし、パフォーマンスと機能性の問題を引き起こすので、これには後期にロードされたWP環境が必要です。
登録 -スクリプト/スタイルに関するWPの詳細を説明し、その情報を保存します。
enqueue-(多くの場合、1回のwp_enqueue_*()
呼び出しでレジスタと一緒にまとめられます)-これは、設定(依存関係、ヘッダー/フッターの読み込み)に従って、キューにスクリプト/スタイルを追加するようにWPに指示します。
print-これは、WPがキューを処理し、それ自体に固有の何かをロードしようとしたとき、またはwp_print_*()
関数で明示的に実行したときに発生します。
wp_head()
wp_head
(1) wp_enqueue_scripts()
wp_enqueue_scripts
«これが必要なものです
(8) wp_print_styles()
(9) wp_print_head_scripts()
wp_footer()
wp_footer
wp_print_footer_scripts()
さらに深くなりますが、これはシンプルであり、重要なポイントには十分です:
wp_enqueue_scripts
フロントエンドでスクリプトとスタイルを登録およびキューイングするのに最も適切なフックであり、特にそのためにあります。
init
これとは何の関係もありませんが、動作しますが、- それだけを使用するための過去のコーデックス勧告は間違っていました。
wp_print_footer_scripts()
呼び出し前の任意の時点で、フッター用のキュースクリプト(スタイルではありません)で回避できます。
wp_print_*
フックはregister / queueには適切ではありません。それらは出力が既に発生しているときのコード内のポイントです。これらは、手動/カスタムスクリプト/スタイルの出力に適しています。
まあ、そこの機能はさらに複雑で、複雑で入れ子になっています。
まず最初に、すべてにフックを使用しますadmin_enqueue_scripts
($hook_suffix
条件付きの場合はグローバルに渡されます)。ほとんどの場合、うまく機能します。
複雑なものが必要な場合- admin-header.php
適切なフックを探してそこから掘ります。
という名前の特定のフックがありlogin_enqueue_scripts
ます。
*print*
あなたが本当にそれらを必要とする理由を本当に知っていない限り、フックに近づかないでください。そして、全体的には印刷用であり、キューではありません。admin_enqueue_scripts
フックは$hook_suffix
、これらの動的フックで使用される変数と同じ変数を渡します。
$hook_suffix
編集ポートフォリオページのpost.phpのように見えるのはなぜですか?それはedit.phpでもあると思いましたが、通常の投稿ではなくポートフォリオを編集/投稿しているかどうかをどのように判断しますか?
add_*_page()
関数の戻り)が、ネイティブWP画面では異なることがあります。
admin_print_scripts-{xxx}
。私はそれadmin_print_scripts
が呼び出されたが、-{xxx}
例えばではないことがわかりました。-edit.php
例えば。でエンキューのその答えどのように権利をであるadmin_print_scripts-xxx
、あなたは何を代わりにお勧めします-私は(metabox用)カスタムポストタイプの追加/編集ページでスクリプト/スタイルを含めると仮定