WordPress 5.5的新功能-深入探討(Epic)版本

隨著WordPress 5.5即將來臨,現在是時候向我們介紹在今年的第二個WordPress版本中為Core添加的最顯著的更改和功能。

這些天來,我們習慣於在每個WordPress版本中看到許多塊編輯器的新增功能。WordPress 5.5也不例外!

此版本還帶來了大量與編輯器無關的更改,這些更改應該對我們使用CMS的方式產生重大影響。

信息

我們正在舉辦一個免費的網路研討會,以說明和討論WordPress 5.5中的新功能,請確保加入我們!

儘管WordPress 5.5對WordPress Core進行了許多更改,但由於一些未解決的問題,5.5所期待的一些功能已被延遲並從此版本中刪除。因此,全站點編輯,導航塊,導航屏幕和小部件屏幕不是WordPress 5.5的一部分。

如果您想了解有關WordPress 5.5開發周期的更多信息,請查看以下鏈接:

  • 2020年7月7日:Beta 1
  • 2020年7月14日:Beta 2
  • 2020年7月21日:Beta 3
  • 2020年7月27日:Beta 4
  • 2020年7月28日:RC 1
  • 2020年8月4日:RC 2
  • 2020年8月10日:WordPress 5.5版本的試運行
  • 2020年8月11日:WordPress 5.5的目標日期

那麼,WordPress 5.5有哪些新功能?

塊編輯器的新增功能

在WordPress 5.5的最終版本中,十個版本的Gutenberg插件將被添加到核心中,帶來了大量的UI改進,功能,增強和錯誤修復,從可用性,功能性和性能方面影響了編輯體驗的各個方面。

在這裡幾乎不可能提到所有這些更改,因此在本文中,您將發現我們最喜歡的新功能和改進的精選內容。

有關使用WordPress 5.5添加到塊編輯器的改進和功能的更全面列表,請參閱插件版本的官方公告:7.5、7.6、7.7、7.8、7.9、8.0、8.1、8.2、8.3、8.4、8.5。

話雖如此,在這裡我們將介紹WordPress 5.5帶給塊編輯器的以下新增功能:

  1. 新的UI設計
  2. 塊設計工具
  3. 內聯圖像編輯
  4. 塊類別和新塊插入器面板
  5. 阻止目錄和阻止插件
  6. 塊模式

新的UI設計

Gutenberg插件的每個版本都帶來了很小的改進,並且在很小的程度上改變了總體編輯體驗。這些更改中的很多現在都將合併到WordPress核心中。因此,當您首次在WordPress 5.5中啟動塊編輯器時,稍有不同的界面應引起您的注意。你會找到:

  • 簡化的塊工具欄
  • 更強的色彩對比
  • 新圖標
  • 塊移動器
  • 周邊元素
  • 設備預覽
  • 改進的拖放
  • 在整個UI中改進了統一的塊焦點樣式
  • 能夠一次格式化多個塊
  • 更好的性能

在WordPress 5.5中格式化多個塊

上面提到的那些只是影響編輯體驗的眾多更改中的一部分。

WordPress 5.5中的移動預覽

其他更改還包括:

下標和上標選項

下標和上標文本的格式設置選項現在可以通過Rich Text控制項(Gutenberg 8.0)獲得。

新塊工具欄

新的圖塊工具欄具有重新設計的圖標,圖塊移動器和更好的色彩對比度

父塊選擇

將滑鼠懸停在塊工具欄的左側時,將顯示一個全新的工具欄按鈕。新按鈕允許在嵌套上下文中選擇父塊(Gutenberg 8.3)。

媒體和文本塊中的父選擇器

塊設計工具

在過去的幾個月中,Gutenberg插件中已添加了一些設計工具,而這些工具將被包含在WordPress 5.5的核心中。

高度控制和背景漸變

第一組工具可控制多個塊的尺寸和背景顏色(Gutenberg 7.9)。

Columns塊的背景漸變設置

填充和鏈接顏色控制項

核心功能(Gutenberg 8.3)有兩個附加功能,但在撰寫本文時,它們仍被標記為試驗性的:

  • 封面塊的填充控制項。
  • 鏈接段落,標題,組,列以及媒體和文本塊的顏色控制。

默認情況下,填充控制項和鏈接顏色控制項是關閉的,開發人員必須明確聲明對其支持,如Block Editor手冊中所述。

如果要為主題添加Cover Cover的填充控制項,只需將以下行添加到主題的functions.php中:

add_theme_support(’experimental-custom-spacing’);

如果要為「段落」,「標題」,「組」,「列」以及「媒體和文本」塊啟用鏈接顏色控制,只需將以下行添加到主題的功能文件中:

add_theme_support(’experimental-link-color’);
自定義單位和自定義線高

此新功能使您可以為Cover塊(Gutenberg 7.9)設置px,em,rem,vw和vh高度值。還支持%,但由於無法預測百分比高度,因此將其省略。

使用增強的高度控制,您可以通過在按住Shift的同時向上或向下按跳數值10。

新的單位控制

開發人員可以通過定義自定義單位支持標誌來添加對自定義單位的支持:

add_theme_support(’custom-units’);

您還可以設置特定的自定義單位:

add_theme_support(’custom-units’,’rem’,’em’);

開發人員還可以通過定義custom-line-height支持標誌來為標題和段落添加Custom Line Heights:

add_theme_support(’custom-line-height’);

內聯圖像編輯

Gutenberg 8.4在塊編輯器中添加了新的編輯功能,使用戶可以直接從Image塊編輯圖像。

現在它已合併到核心,從WordPress 5.5開始,您可以裁剪,旋轉,縮放和調整圖像位置,而無需啟動媒體庫,從而獲得更快的編輯體驗。

如果您用於發布大量照片,那麼毫無疑問,您會喜歡上此功能。

WordPress 5.5中的嵌入式圖像編輯

只需單擊圖像工具欄中的「裁剪」按鈕,您就可以使用新的編輯功能。當您對自定義感到滿意時,請應用您的更改就可以了。

WordPress將新圖像作為附件保存在媒體庫中,並從原始圖像中複製詳細信息(標題,說明,標題,替代文本和EXIF數據)。這使您可以完全控制新映像版本。

塊類別和新塊插入器面板

重新設計的塊插入器面板按類別顯示了塊和圖案,從而顯著改善了編輯體驗,並使塊和圖案更易於查找(Gutenberg 8.3)。

新塊插入器中的「塊和模式」選項卡

阻止目錄和阻止插件

通過實現塊目錄,您可以直接從塊插入器中查找,安裝和添加第三方塊。

搜索塊時,如果尚未安裝,則會在「插件目錄」中提示您列出可用的插件。這些插件稱為「塊插件」,您可以單擊將其添加到編輯器中。

WordPress社區的第三方阻止

多虧了這項令人敬畏的新功能,您現在可以構建自己的塊並將其發布到插件目錄,從而使整個WordPress社區都可以使用您的作品。

好消息是,創建您的自定義塊時,您無需成為PHP專家。您只需要一些JavaScript的使用知識。

不確定如何開始開發自己的模塊?令人敬畏的WordPress社區為您提供了一個簡單的分步教程。

官方的《塊編輯器手冊》已經提供了塊教程的第一版,以幫助您學習塊開發的基礎知識。您可以在Make WordPress Plugins博客上閱讀有關block目錄和block插件開發的更多信息。

塊模式

早在2020年3月,Gutenberg 7.7和Gutenberg 7.8引入了塊模式以及用於主題和插件的塊模式API。

塊模式是預定義的塊布局,允許用戶快速將嵌套塊的複雜結構添加到其頁面。他們的目的是幫助內容編寫者和網站管理員克服「空白頁綜合症」,並輕鬆構建專業的布局和高級視圖。

通過全站點編輯,我們應該看到最佳的塊模式。

古騰堡項目的首席架構師Mathias Ventura明確解釋了將要使用的塊模式:

需要澄清的是,「塊模式」的設置與模板部分(在結構上有意義)有關的內容較少,而與由較小的塊組成的一般設計元素有關。插入後,它們不會單獨存儲。例如,「封面」圖像結合了幾個塊以實現特定外觀,否則將使用戶花費一些工作來完成。可以將其更多地看作是可以在任何地方添加而不必代表主題模板的可重用部分的設計集合。

與模板部分不同,塊模式是設計元素,可以幫助站點管理員和內容創建者加快並改善其編輯體驗。

與Gutenberg 7.7一起啟動時,Block Patterns最初出現在側欄插件中。後來,隨著Gutenberg 8.0的發布,他們搬進了經過改進的塊插入器,現在以面板的形式出現在編輯器的左側,如下圖所示:

WordPress 5.5中的畫廊模式

在其早期階段,塊模式帶有非常有限的一組模式。無論如何,它們將極大地改善編輯體驗,並希望在不久的將來會增加更多內容。

與常規塊一樣,模式也是可搜索的,並按以下類別進行組織:

  • 文本
  • 英雄
  • 紐扣
  • 畫廊
  • 特徵
  • 感言
  • 未分類

WordPress 5.5中的編號功能模式

除了內置的阻止模式外,WordPress開發人員還可以利用全新的API為主題和插件提供自定義模式。

使用WordPress,我們的流量增長了1,187%。
我們將向您展示如何。
加入20,000多個其他人,他們每周都會收到有關WordPress內部技巧的新聞!

現在訂閱

成功!感謝您的訂閱

您將在一周內收到下一期的Kinsta新聞通訊。

訂閱Kinsta新聞通訊

訂閱

我同意條款和條件以及隱私政策

您可以使用register_block_pattern函數和register_block_pattern_category類別註冊您的自定義模式。

register_block_pattern有兩個參數:

  1. 模式的名稱。
  2. 模式屬性數組。

屬性包括:

  • 標題
  • 內容
  • 描述
  • 分類
  • 關鍵字
  • viewportWidth

register_block_pattern_category也接受兩個參數:

  1. 模式類別的名稱。
  2. 屬性數組。

該API還提供了兩個用於註銷模式和類別的函數:unregister_block_pattern和unregister_block_pattern_category。

建立自己的塊模式的方法非常簡單。例如,將以下代碼複製並粘貼到自定義插件或子主題的功能文件中,然後根據自己的喜好更改模式的名稱。

add_action(’init’,function(){

register_block_pattern_category(
‘kinsta’,
array(’label’=> __(’Kinsta stuff’,’kinsta-pattern’))));

register_block_pattern(
‘kinsta-pattern / my-custom-pattern’,
array(
‘title’=> __(’兩個Kinsta按鈕’,’kinsta-pattern’),
‘description’=> _x(’兩個漂亮按鈕。’, ‘Kinsta Buttons’,’kinsta-pattern’),
‘content’=>「 <!-wp:buttons {」 align「:」 center「}-> n <div class =」 wp-block-buttons aligncenter「> <!-wp:button {」 backgroundColor「 :「非常暗灰色」,「邊界半徑」:0}-> n <div class =「 wp-block-button」> <a class =「 wp-block-button__link has-background has-very-dark-灰色背景色無邊界半徑「>」。esc_html __(’Button One’,’kinsta-pattern’)。「 </a> </ div> n <!-/ wp:button-> nn <!-wp:button {」 textColor「:」非常暗灰色「,」 borderRadius「:0,」 className 「 :: is-style-outline」}-> n <div class =「 wp-block-button is-style-outline」> <a class =「 wp-block-button__link has-text-color has-d-dark-gray-color no-border-radius「>」。esc_html __(’Button Two’,’kinsta-pattern’)。
「 </a> </ div> n <!-/ wp: button- > </ div> n <!-/ wp: buttons- >」, ‘類別’=> array(’kinsta’) ,

);
});

上面的代碼是對Block API Reference中原始代碼段的簡單自定義。如您所見,不需要JavaScript。

自定義塊模式

另請參閱WordPress 5.5中的阻止模式。

重要

請注意,模式是實驗性功能,API可能會隨著Gutenberg插件的未來版本而改變。

WordPress核心中的本機圖像延遲載入

延遲載入是一種優化技術,可以延遲非關鍵資源的載入。這意味著指示瀏覽器在頁面載入時載入可見內容,並推遲放置在摺疊之下的圖像的下載和渲染,直到實際需要它們為止。

信息

在網路性能方面,圖像優化是站點管理員的關鍵方面之一。平均而言,圖像仍然是網頁的重要組成部分,圖像優化可以幫助為讀者和客戶提供更好的用戶體驗。請記住:頁面速度也是重要的排名因素。

在本機延遲載入之前,Web開發人員可以使用IntersectionObserver API或滾動,調整大小和directionchange事件處理程序,通過JavaScript延遲載入資產。

但是,由於延遲載入已成為一種標準,因此我們不再需要編寫自定義代碼或使用JavaScript庫,並且可以使用img和iframe標籤中的新載入屬性來實現延遲載入圖像。

通過圖片和iframe的屬性進行延遲載入(來源:caniuse.com)

loading屬性確定瀏覽器是應立即載入資源還是等待直到滿足某些條件。當前它支持以下值:

  • 懶惰:等到滿足某些條件
  • 渴望:立即載入資源

Chrome中的延遲載入設置(可通過chrome:// flags /#enable-lazy-image-loading獲得)

在撰寫本文時,Microsoft Edge,Firefox,Google Chrome,Opera瀏覽器,Android瀏覽器和Chrome for Android支持本機延遲載入。

自動優化中的延遲載入設置

在WordPress 5.5之前,只能在WordPress中使用諸如Autoptimize,BJ Lazy Load或其他優化插件的延遲載入。現在,它是WordPress核心的一部分,不需要安裝其他插件!

WordPress中的本機延遲載入

正如Felix Arntz在Make WordPress Core博客上的舊博客文章中所報道的那樣,WordPress的延遲載入的JavaScript實現最初是在幾年前提出的,但它從未成為Core的一部分。新的本機惰性圖像載入實現消除了兼容性方面的顧慮,現在新功能可以安全地與WordPress 5.5合併到Core中。

根據Felix的說法,對於大量不使用延遲載入插件的WordPress網站,WordPress圖像上的本機延遲載入將對站點性能和用戶體驗產生有益的影響:

…不需要任何技術知識,甚至不需要了解延遲載入的概念。採用新的load屬性對於WordPress來說是一次帶動整體網站更快的機會。

為了防止布局移動,會將load =「 lazy」自動添加到具有width和height屬性的img標籤中,並且只有當該圖像可作為WordPress用於附件並且包含wp-image- $ id類時,才有可能。

延遲載入是具有大量圖像的每個WordPress安裝和網站的必備優化。Felix注意:

這將極大地節省伺服器和跨站點的用戶代理的帶寬,而在站點上,圖像即使是在用戶永遠不會滾動的情況下,也可以立即載入到頁面下方的圖像。

WordPress中的本機延遲載入可用於以下圖像:

  • 帖子內容(the_content)中的圖像。
  • 摘錄後的圖片(the_excerpt)。
  • 文本小部件中的圖像(widget_text_content)。
  • 通過get_avatar()呈現的頭像圖像。
  • 使用wp_get_attachment_image的模板圖像

在第一種實現方式中,延遲載入僅支持圖片,但是我們可以預期iframe廣告代碼會進一步增強延遲載入。

WordPress開發人員的延遲載入

開發人員可以使用幾個新的過濾器覆蓋默認行為。在這些過濾器中,wp_lazy_loading_enabled和wp_img_tag_add_loading_attr對開發人員最有用:

  • wp_lazy_loading_enabled打開和關閉載入屬性。可以全局或按標籤應用此過濾器。
  • wp_img_tag_add_loading_attr過濾載入屬性值,並提供一種控制每個圖像的延遲載入的方法。

以下示例顯示了如何全局禁用延遲載入:

add_filter(’wp_lazy_loading_enabled’,’__return_false’);

我們還可以禁用特定標籤的延遲載入。在以下示例中,在the_content上下文中的圖像上關閉了延遲載入(有關更多信息,請參見Make WordPress Core):

add_filter(
‘wp_lazy_loading_enabled’,
function($ default,$ tag_name,$ context){
if(’img’=== $ tag_name &&’the_content’=== $ context){
返回false;
}
返回$ default;
},
10 ,
3
);

  • $ default:布爾默認值(true)。
  • $ tag_name:要延遲載入的元素的標籤名稱。
  • $ context:一個可選參數,指定圖像的上下文(請參見上面的列表)。

請注意,在撰寫本文時,$ tag_name參數僅支持img標籤。無論如何,如上所述,應將更多標籤添加到將來的實現中。

如果要對WordPress中的圖像延遲載入進行更精細的控制,可以根據上下文採用兩種不同的方法。

如果您正在處理內容(即the_content,the_excerpt,widget_text_content),則可以使用wp_img_tag_add_loading_attr過濾器。以下示例顯示如何在特定圖像上禁用延遲載入:

add_filter(
‘wp_img_tag_add_loading_attr’,
function($ value,$ image,$ context){
if(’the_content’=== $ context){
$ image_url = wp_get_attachment_image_url(67,’medium’);
if(false!== strpos( $圖像, ‘SRC = 「’ $ IMAGE_URL。 ‘」’)){
返回FALSE;
}
}
返回$值;
},
10,
3
);

主題開發人員還可以通過wp_get_attachment_image控制圖像。在這種情況下,您可以簡單地將圖像的載入屬性值設置為false:

回聲wp_get_attachment_image(
67,
‘medium’,
false,
array(’loading’=> false),
);

上面畫廊中的第一張圖片沒有被延遲載入

如果您想在WordPress 5.5最終版本之前嘗試延遲載入圖像,可以安裝官方的延遲載入功能插件,或在Github上檢查源代碼。

在WordPress核心博客上,您可以在WordPress 5.5中找到有關延遲載入圖像的更多信息。

插件和主題的自動更新

網站所有者最擔心的問題之一是網站安全性,保持軟體更新是每個網站所有者應考慮的常見建議。

自WordPress 3.7起,WordPress自動更新已作​​為一項功能提供。現在,這裡的問題是,雖然默認情況下針對核心維護和安全性版本啟用了自動更新,但在WordPress 5.5之前,許多站點所有者並未利用插件和主題的自動更新。

原因是此功能需要WordPress開發的基本知識。實際上,開發人員可以通過在wp-config.php中定義一個或多個常量或在插件中使用過濾器來微調其更新首選項。

現在使用WordPress 5.5,站點管理員可以直接在WordPress儀錶板中單擊來啟用和禁用插件和主題自動更新。

重要

默認情況下,插件和主題自動更新處于禁用狀態。

通過單擊出現在「插件」屏幕中的「自動更新」列中的鏈接,可以啟用和禁用插件自動更新。

啟用插件自動更新

如果要啟用主題的自動更新,請瀏覽到外觀>主題,然後將滑鼠懸停在主題上,然後單擊主題詳細信息。然後,單擊新的「啟用自動更新」鏈接,即可完成操作。

啟用單個主題的自動更新

信息

默認情況下,只有具有update_plugins和update_themes功能的用戶才能管理常規WordPress安裝上的插件和主題自動更新。在Multisite上,網路管理員可以在網路儀錶板上使用自動更新(在此處了解有關WordPress用戶角色和上限的更多信息)

用於插件和主題的新的自動更新UI帶有一些功能和掛鉤,供開發人員用來自定義自動更新體驗。

插件和主題開發人員的自動更新功能和過濾器

WordPress開發人員可以使用一項新功能和幾個過濾器自定義插件和主題自動更新的許多方面。

檢查自動更新用戶界面

新的wp_is_auto_update_enabled_for_type()WordPress函數檢查是否為給定類型啟用了自動更新UI。新函數接受單個參數($ type),該參數確定要檢查的更新類型(「主題」或「插件」),並相應地返回true或false。

藉助兩個新的過濾器,可以為插件或主題禁用新的自動更新UI:plugins_auto_update_enabled和themes_auto_update_enabled。請參閱以下示例:

//禁用插件自動更新UI元素。
add_filter(’plugins_auto_update_enabled’,’__return_false’);

//禁用主題自動更新UI元素。
add_filter(’themes_auto_update_enabled’,’__return_false’);

上面的過濾器記錄在wp-admin / includes / update.php中。

自定義自動更新鏈接

插件和主題開發人員可以自定義自動更新鏈接的HTML輸出。

plugin_auto_update_setting_html過濾器允許自定義切換鏈接和兩次更新嘗試之間的時間間隔。

回調函數採用三個參數:

  • $ html:插件的自動更新列內容的HTML,包括切換自動更新操作鏈接和下次更新時間。
  • $ plugin_file:相對於plugins目錄的插件文件的路徑。
  • $ plugin_data:插件數據數組。

現在,如果要自定義自動更新鏈接文本的標籤,則可以使用以下代碼段中所示的過濾器。

add_filter(’plugin_auto_update_setting_html’,function($ html,$ plugin_file,$ plugin_data){
if(’kinsta-plugin / kinsta-plugin.php’=== $ plugin_file){
$ html = __(’Custom HTML’,’kinsta -plugin’);
}
返回$ HTML;
},
10,
3
);

下圖顯示了屏幕上的結果。

用於自動更新鏈接的自定義HTML

該過濾器記錄在wp-admin / includes / class-wp-plugins-list-table.php中。

在單個站點上,您可以通過theme_auto_update_setting_template過濾器來自定義自動更新鏈接的JS模板。介紹插件和主題自動更新的博客文章為此過濾器提供了以下示例:

函數myplugin_auto_update_setting_template($ template){
$ text = __(’自動更新不適用於該主題。’,’my-plugin’);

返回「 <#if([[‘my-theme’,’twentytwenty’] .includes(data.id))} {#>
<p> $ text </ p>
<#} else {#>
$ template
<#}# >「;
}
add_filter(’theme_auto_update_setting_template’,’myplugin_auto_update_setting_template’);

建議使用data.id參數檢查目標主題。

厭倦了WordPress問題和緩慢的主機?我們提供全天候24/7的WordPress專家和一流的快速伺服器提供的世界一流的支持。查看我們的計劃

如果您正在進行WordPress多站點安裝,則需要theme_auto_update_setting_html過濾器,該過濾器允許您以與「插件」屏幕相同的方式自定義「主題」屏幕的「自動更新」鏈接。

最後,另外兩個過濾器控制著每個主題和插件的所有自動更新,包括將來應安裝的主題和插件。

這些過濾器自WordPress 3.7起可用,將覆蓋WordPress儀錶板中的所有自動更新設置。您可以在我們的WordPress自動更新中深入了解有關此內容的信息。要深入了解插件和主題的自動更新,請閱讀此博客文章中的更多內容。

自動更新電子郵件通知和站點健康信息

從WordPress 5.5開始,在嘗試任何自動更新後都會發送一封電子郵件通知。

auto_plugin_theme_update_email過濾器掛鉤過濾自動後台更新後發送的電子郵件。有關用法的示例,請參見dev-notes博客文章。

也可以使用兩個新的過濾器禁用自動更新電子郵件通知:

//禁用插件的自動更新電子郵件通知。
add_filter(’auto_plugin_update_send_email’,’__return_false’);

//禁用主題的自動更新電子郵件通知。
add_filter(’auto_theme_update_send_email’,’__return_false’);

插件和主題自動更新信息也顯示在「站點運行狀況信息」選項卡中。

「站點健康信息」選項卡顯示插件和主題的自動更新狀態

開發人員可以使用plugin_auto_update_debug_string和theme_auto_update_debug_string過濾器來自定義此屏幕上顯示的文本。此處提供更多信息和幾個示例。

可擴展的核心站點地圖

站點地圖只是URL列表,允許搜索引擎快速抓取您的網站。

站點地圖與robots.txt非常相似,不同之處在於robots.txt文件將內容排除在索引之外,而站點地圖則提供了要由搜索引擎索引的URL列表。

在WordPress 5.5之前,只能使用插件或其他工具將站點地圖添加到WordPress網站。

現在,WordPress 5.5為WordPress Core帶來了全新的XML網站地圖功能。

新功能增加了基本功能,但是它帶有大量的掛鉤和篩選器,允許插件開發人員進一步擴展內置功能。

XML站點地圖默認情況下處於啟用狀態(除非您不鼓勵搜索引擎為您的網站建立索引)並提供以下對象類型:

  • 主頁
  • 帖子頁面
  • 核心帖子類型(頁面和帖子)
  • 自定義帖子類型
  • 核心分類法(標籤和類別)
  • 自定義分類法
  • 作者檔案

該站點地圖索引可在/wp-sitemap.xml中獲得,其中最多包含2,000個URL。達到最大限制後,將添加一個新的站點地圖文件。

WordPress核心站點地圖示例

如前所述,插件開發人員可以使用許多可用操作和過濾器中的一個或多個來自定義站點地圖。有關與站點地圖相關的鉤子的完整列表,請參見功能插件文檔和介紹性博客文章。

例如,您可以使用wp_sitemaps_enabled過濾器以編程方式禁用核心站點地圖,該過濾器過濾是否啟用XML Sitemap或阻止執行wp_sitemaps_get_server函數:

remove_action(’init’,’wp_sitemaps_get_server’);

信息

為了與類似的過濾器保持一致,已將wp_sitemaps_is_enabled過濾器重命名為wp_sitemaps_enabled(#50428)

核心站點地圖不應與您可能已在網站上安裝的任何站點地圖插件衝突。根據Pascal Birchler在Make WordPress Core上的說法:

核心站點地圖功能是通過強大且易於擴展的方式構建的。如果出於某種原因在網站上公開了兩個站點地圖(一個核心,一個插件),則不會對網站的可發現性造成任何負面影響。

作為XML Sitemaps功能的一部分,新的esc_xml()函數轉義了XML塊的字元串。該功能和相應的過濾器記錄在wp-includes / formatting.php中。

在撰寫本文時,新的站點地圖功能不支持圖片/視頻/新聞站點地圖,並且將來可能不會改變。無論如何,可以在將來的版本中添加允許開發人員添加此功能的新過濾器和掛鉤。

有關可擴展站點地圖的更多信息,請參見站點地圖的開發人員介紹,其中涵蓋了新的類,函數,掛鉤和過濾器。

將參數傳遞給模板文件

在WordPress 5.5之前,只能通過全局變數,查詢var和其他一些非最佳選項將數據傳遞到模板文件。現在,從WordPress 5.5開始,已將$ args參數添加到模板載入函數(相應的鉤子已相應更新):

  • get_header()
  • get_footer()
  • get_sidebar()
  • get_template_part()
  • locate_template()
  • load_template()

主題開發人員現在可以在模板文件中設置變數,並只需傳遞一組參數即可使其在任何包含的模板部分中均可訪問。

現在,儘管此功能為主題開發人員帶來了新的機遇,但WP Tavern的Justin Tadlock提出了一個很好的問題:

仍然存在一個問題:此功能的推出是否為時已晚?隨著WordPress有望改進整個主題系統以與即將到來的全站點編輯功能集成,此功能僅在接下來的幾個月中有用嗎?

約翰·布萊克本(John Blackbourne)有一個優點:

即使在將來進行完整的站點編輯時,仍然仍然需要模板部分。例如,動態渲染的塊類型可以並且確實利用了結構化模板部分。它們不是互斥的,並且總是有一些固執己見的主題,它們並沒有廣泛使用塊進行布局。

我們終於找到了WP核心貢獻者Enrico Sorcinelli,他與我們分享了他的想法:

如果您問我我們來這裡是否太晚,從我的角度來看,這永遠不會太晚!
我相信將來主題開發人員可以從這個機會中受益,這不排除它可以與新興的全站點編輯方法(例如,具有動態渲染的塊)共生使用。

現在說該功能與全站點編輯的完美結合還為時過早,但似乎可以肯定的是:未來的發展將為為用戶和開發人員構建更好的網站帶來巨大的機會。

從.zip文件更新插件和主題

我知道您在想什麼:看到此功能與自動更新一起出現似乎「非常意外」。儘管如此,它確實是有道理的。

在WordPress 5.5之前,缺少一鍵更新功能時,站點管理員只能通過FTP / SFTP或文件管理器上傳插件/主題更新。對於自定義插件/主題或第三方市場上託管的擴展,大多數情況下都是如此。

從WordPress 5.5開始,您可以通過從WordPress儀錶板中的計算機上載.zip包來更新插件和主題。

如果要更新插件,請瀏覽至「插件」>「添加新」屏幕,然後單擊「上傳插件」按鈕。然後,如果您在網站上安裝了插件,則會出現一個新屏幕,通知您「此插件已安裝」,並顯示當前版本和上傳的版本詳細信息。

該插件已安裝

該插件已安裝

該過程與主題更新非常相似。

瀏覽到外觀>主題屏幕,然後單擊添加新項,然後單擊上載主題。如果您的WordPress網站上已經安裝了主題,則會出現一個新屏幕,通知您「此主題已安裝」,並顯示當前版本和上傳的版本詳細信息。

該主題已經安裝

該主題已經安裝

針對使用WordPress 5.5的開發人員的其他改進

除了我們到目前為止介紹的內容之外,還有一些其他功能值得開發人員關注。

新的wp_get_environment_type()函數

新的wp_get_environment_type()函數使您能夠檢測網站的當前環境類型,從而使開發人員能夠將插件和主題功能適應當前環境。

默認情況下,wp_get_environment_type()返回生產。其他支持的價值是開發和登台。無論如何,如果需要,允許開發人員定義其他環境類型。

可以使用三種方法來設置網站環境類型。根據優先順序,您可以使用:

  • WP_ENVIRONMENT_TYPE PHP環境變數。
  • WP_ENVIRONMENT_TYPE常量。
  • wp_get_environment_type過濾器。

例如,如果要將環境設置為暫存,則可以在wp-config.php文件中定義WP_ENVIRONMENT_TYPE常量,如下所示:

define(’WP_ENVIRONMENT_TYPE’,’staging’);

如果環境類型為暫存,則即使您未顯式定義WP_DEBUG,WP_DEBUG也會自動設置為true。

信息

所有主機都必須支持此功能,並應相應地設置其暫存環境。Kinsta已經支持wp_get_environment_type()函數。

WordPress 5.5中的REST API更改

WordPress 5.5還為REST API帶來了許多更改。我們將看到幾個新的端點,新的參數和JSON模式更改,新的功能以及進一步的增強。

這是新端點的快速列表:

塊類型

一個新的端點允許獲取所有已註冊的塊類型:

  • GET / wp / v2 / block-types將返回所有已註冊的塊類型。
  • GET / wp / v2 / block-types / core將返回核心名稱空間內的所有塊。
  • GET / wp / v2 / block-types / core / quote將返回核心報價塊定義。

外掛程式

一個新的端點允許管理插件:

  • GET / wp / v2 / plugins將返回所有已安裝插件的列表。
  • GET / wp / v2 / plugins / plugin-name / plugin-name將返回有關指定插件的信息。
  • POST / wp / v2 / plugins {slug:「 plugin-name」}從插件目錄安裝指定的插件
  • PUT / wp / v2 / plugins / plugin-name / plugin-name {status:「 active」}激活指定的插件
  • 刪除/ wp / v2 / plugins / plugin-name / plugin-name刪除不活動的插件。

阻止目錄

一個新的端點允許搜索塊目錄:

  • GET / wp / v2 / block-directory / search?term = block-name在塊目錄中搜索塊名

圖片編輯

與新的內聯圖像編輯功能配合使用時,新的端點允許編輯媒體庫中的圖像附件:

POST / wp / v2 / media / 5 / edit編輯ID為5的圖像

有關WordPress 5.5隨附的REST API的所有更改的詳細信息,請參閱WordPress Core開發說明。

概要

我們對WordPress 5.5在一個發行版中帶來的所有這些新功能和增強功能感到非常興奮。

它顯示了幕後發生的大量工作,我們深切感謝每個核心貢獻者的所有努力和承諾。

如果上面列出的更改對您來說還不夠,那麼您應該查看WordPress 5.5附帶的更多改進功能:

  • 在WordPress核心的Dashicons圖標字體中添加了65個新圖標
  • 小部件中的鏈接列表的可訪問性改進
  • 禁用按鈕的新CSS樣式
  • 操作碼緩存無效
  • 更好地控制redirect_guess_404_permalink()
  • PHP相關的改進
  • 代碼庫更改
  • 更改自定義徽標功能和過濾器
  • 阻止API更新
  • 存檔頁面標題過濾器
  • 在二十中添加圖標
  • 還有很多

確保加入我們完全致力於WordPress 5.5的免費網路研討會!

現在輪到你了。您最喜歡WordPress 5.5的哪些功能和/或改進?您想將哪些功能添加到WordPress 5.6?在下面的評論部分分享您的想法!

如果您喜歡這篇文章,那麼您會喜歡Kinsta的WordPress託管平台。加速您的網站並獲得我們經驗豐富的WordPress團隊的24/7支持。我們基於Google Cloud的基礎架構專註於自動擴展,性能和安全性。讓我們向您展示Kinsta的與眾不同!查看我們的計劃

相關文章