WordPress 6.1 引入了一個?可供主題作者使用的新標頭(header)。這允許第三方(非WP官方庫)主題避免意外地被來自?WordPress.org?主題目錄的類似名稱的主題更新所覆蓋。
以前,任何使用與 WordPress.org 上托管的主題相同的 slug 的自定義主題都冒著被后者更新覆蓋的重大風險。
WordPress 6.1 引入了一個新的?Update URI?主題標頭字段。如果這個新字段的值匹配除?https://wordpress.org/themes/{$slug}/或?w.org/theme/{$slug}之外的任何 URI,WordPress 將不會嘗試更新它。
如果設置, Update URI 標頭字段應該是一個 URI 并具有唯一的主機名。
一些例子包括:
https://wordpress.org/themes/example-theme/https://example.com/my-theme/my-custom-theme-name
Update URI: false 也可以,除非有處理 false 主機名的代碼,否則主題永遠不會收到更新通知。
如果標頭存在,則 WordPress.org API當前僅在主題匹配以下格式時才返回主題更新:
https://wordpress.org/themes/{$slug}/w.org/theme/{$slug}
如果標頭有任何其他值,API 將不會返回結果,并將忽略主題以進行更新。
此外,WordPress 6.1 引入了 update_themes_{$hostname} 過濾器,第三方主題可以使用它來為給定的主機名提供更新。它們可用于過濾多個用例中的更新響應。
這個新的鉤子過濾給定主題主機名的更新響應。鉤子名稱的動態(tài)部分 $hostname, 是指在 Update URI 標頭字段中指定的 URI 的主機名。
鉤子有四個參數(shù):
$update:具有最新詳細信息的主題更新數(shù)據(jù)。默認false。$theme_data:主題提供的標題列表。$theme_stylesheet:主題樣式表。$locales:已安裝的語言環(huán)境以查找翻譯。
請注意,由 WordPress.org 托管的主題的作者不需要使用這個新標頭。
作為參考,請參閱票證?#14179和變更集?[53933]。




