問題描述

我現在使用 WordPress 3.1.4 。我感到困惑我使用哪個 (哪個鈎子)

  • 註冊和/或排隊
  • 腳本和樣式
  • 在前面和 back-ends?

問題:

  • 哪些是正確的鈎子使用?
  • init 中的所有前端註冊/入隊腳本/樣式?
  • 為什麼沒有 admin_print_styles-{xxx}

最佳解決方案

為什麼正確註冊和排隊事宜

  • 它應該是在時間 – 早於腳本/風格輸出到頁面,否則太晚了;
  • 它應該是有條件的 – 否則你正在加載你不需要它的東西,並導致性能和功能問題,因此你需要 WP 環境加載到後期階段。

過程的三個階段

  1. 註冊 – 這解釋了關於腳本/樣式的 WP 細節,並使其存儲該信息;
  2. (通常集中在一個 wp_enqueue_*()調用中註冊) – 這告訴 WP 根據其設置 (依賴關係,頁眉/頁腳加載) 將腳本/樣式添加到隊列中。
  3. 打印 – 當 WP 處理隊列時,會發生這種情況,嘗試加載某些特定於其自身的內容,或者當您使用 wp_print_*()功能顯式地執行此操作時。

Front-end 功能和掛鈎結構

  •  wp_head()

    •  wp_head

      • (1)wp_enqueue_scripts() wp_enqueue_scriptsÄ,Â,Ť這是你需要的
      • (8)wp_print_styles()
      • (9)wp_print_head_scripts()
  •  wp_footer()

    •  wp_footer

      • (10)wp_print_footer_scripts()

它更深入,但這對於重點來説很簡單和足夠好:

  •  wp_enqueue_scripts 是前端註冊和排隊腳本和樣式的最合適的鈎子,它是專門為此而設計的;
  •  init 與此無關,它將會起作用,但是 – 過去法典建議僅使用它是不正確的;
  • wp_print_footer_scripts()調用之前,您可以隨時隨地排列腳註 (而不是樣式);
  •  wp_print_*鈎子不適用於寄存器/隊列,它們是輸出已經發生時的代碼點。它們適用於手動/自定義腳本/樣式輸出。

管理員呢?

那麼呢,這個功能呢更復雜,精巧和嵌套。

  • 對於初學者只需使用 admin_enqueue_scripts 鈎子 (它通過 $hook_suffix 全局條件的東西) 為所有,它將做很好的大多數情況下;
  • 當你需要一些複雜的東西時,可以通過 admin-header.php 進行查找,從中挖出適當的鈎子。

登錄怎麼辦?

有一個名為 login_enqueue_scripts 的特定鈎子。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。