首頁 web前端 css教學 使用側欄插件在Gutenberg中管理WordPress元數據

使用側欄插件在Gutenberg中管理WordPress元數據

Apr 20, 2025 am 10:32 AM

本文探討了使用側欄插件在Gutenberg編輯器中管理WordPress元數據。 WordPress的Block編輯器Gutenberg表示帖子作為塊集。雖然可以使用塊來管理元數據,但本文側重於側欄管理頻繁使用。該教程對ReactJ和Redux熟悉,因為Gutenberg大量利用了這些技術。

使用側欄插件在Gutenberg中管理WordPress元數據

Gutenberg的核心是一種反應應用。所有編輯器元素(列表標題,內容區域,工具欄和側欄)都是反應組件的。應用狀態存儲在由WordPress數據模塊管理的集中式JavaScript對象(“ Store”)中,該模塊與Redux共享相似之處。這些商店持有發布數據(內容,標題,類別)和全局網站信息(類別,標籤,帖子)。修改這些商店會更新Gutenberg UI,並保存後,WordPress REST API更新數據庫。

但是,Gutenberg默認情況下無法通過這些全球商店管理元數據。儘管傳統PHP Metaboxes仍然起作用,但WordPress建議將它們遷移到使用全球商店的JavaScript方法中,並以統一的體驗進行反應組件。

訪問和修改Gutenberg的類似Redux的商店

要訪問這些商店,請在Gutenberg編輯器中打開瀏覽器的控制台,並使用wp.data 。例如, wp.data.select('core/editor').getBlocks()檢索當前帖子中的塊。 wp.data.select('core/editor').getEditedPostAttribute('title')檢索帖子標題。要更改數據,請使用wp.data.dispatch() 。例如, wp.data.dispatch('core/editor').editPost({title: 'My new title'})更新帖子標題。其他相關商店包括core (全局網站信息)和core/edit-post (編輯UI狀態)。

為Gutenberg側邊欄創建WordPress插件

要添加React側邊欄組件,請創建一個WordPress插件。 This involves setting up a plugin folder (eg, gutenberg-sidebar ), creating a plugin.php file (the plugin's entry point), and using npm to manage JavaScript dependencies ( @wordpress/scripts , @wordpress/edit-post , @wordpress/plugins , @wordpress/i18n , @wordpress/components , @wordpress/data ). plugin.php招募了npm run build創建的JavaScript捆綁包。

註冊Gutenberg插件和側欄

JavaScript代碼(在src/index.js中)使用@wordpress/pluginsregisterPlugin來註冊插件。 @wordpress/edit-post創建側欄和菜單項以切換它的PluginSidebarPluginSidebarMoreMenuItem

在經典編輯中處理元數據

該教程使用PHP Metaboxes和函數(例如add_meta_boxget_post_metaupdate_post_metawp_verify_nonce )演示了經典編輯器中的元數據。 Gutenberg處於活動狀態時, __back_compat_meta_box選項隱藏了Metabox。

使用JavaScript管理元數據

要使用JavaScript管理Gutenberg中的自定義字段(例如_myprefix_text_metafield ),請使用show_in_rest: truesanitize_callbackauth_callback使用register_meta進行註冊字段,以允許REST API更新。使用wp.data.select('core/editor').getEditedPostAttribute('meta')檢索和wp.data.dispatch('core/editor').editPost({meta: {_myprefix_text_metafield: 'new value'}})

創建一個反應組件

使用TextControl @wordpress/componentsPanelBody創建React組件( PluginMetaFields )。從@wordpress/data withDispatch組件withSelect到類似Redux的商店,啟用數據檢索和更新。 onChange事件將向商店派遣更新。最後,添加了一個ColorPicker組件,以使用@wordpress/components中的其他組件進行演示。完整的代碼可在GitHub上找到。

以上是使用側欄插件在Gutenberg中管理WordPress元數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1657
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1231
24
Google字體可變字體 Google字體可變字體 Apr 09, 2025 am 10:42 AM

我看到Google字體推出了新設計(Tweet)。與上一次大型重新設計相比,這感覺更加迭代。我幾乎無法分辨出區別

如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 Apr 11, 2025 am 11:29 AM

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

HTML數據屬性指南 HTML數據屬性指南 Apr 11, 2025 am 11:50 AM

您想了解的有關HTML,CSS和JavaScript中數據屬性的所有信息。

使Sass更快的概念證明 使Sass更快的概念證明 Apr 16, 2025 am 10:38 AM

在一個新項目開始時,Sass彙編發生在眼睛的眨眼中。感覺很棒,尤其是當它與browsersync配對時,它重新加載

我們如何創建一個在SVG中生成格子呢模式的靜態站點 我們如何創建一個在SVG中生成格子呢模式的靜態站點 Apr 09, 2025 am 11:29 AM

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tar​​tanify.com上,我們收集了5,000多個格子呢

如何在WordPress主題中構建VUE組件 如何在WordPress主題中構建VUE組件 Apr 11, 2025 am 11:03 AM

內聯式模板指令使我們能夠將豐富的VUE組件構建為對現有WordPress標記的逐步增強。

php是A-OK用於模板 php是A-OK用於模板 Apr 11, 2025 am 11:04 AM

PHP模板通常會因促進Subpar代碼而變得不良說唱,但這並不是這樣的情況。讓我們看一下PHP項目如何執行基本的

編程SASS創建可訪問的顏色組合 編程SASS創建可訪問的顏色組合 Apr 09, 2025 am 11:30 AM

我們一直在尋求使網絡更容易訪問。顏色對比只是數學,因此Sass可以幫助涵蓋設計師可能錯過的邊緣案例。

See all articles