問題描述

我現在使用 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。