WordPress 6.1 引入了一個新系統,用于管理塊編輯器中的首選項。在 6.1 之前,用戶首選項(如頂部工具欄或全屏模式)僅通過瀏覽器本地存儲保留。這導致用戶在清除瀏覽器數據時丟失了他們的偏好,他們的偏好僅限于單個瀏覽器實例。
在 6.1 中,WordPress 采用了一個新的編輯器偏好系統。除了瀏覽器的本地存儲之外,它們還將存儲在服務器端的用戶元中。此更改意味著它們現在將在清除本地存儲時保留,并且可以在多個瀏覽器或計算機上使用。
繼續(xù)使用本地存儲作為保留偏好的輔助方式,為用戶離線或在用戶元中保存偏好的網絡請求中斷的情況增加了一層冗余。
之前的首選項實現
WordPress 以前使用@wordpress/data持久性插件來持久化其偏好數據。從 6.1 開始,WordPress 將不再使用此首選項系統,并將切換到新系統。
插件還能夠使用數據插件來保存任何與插件相關的偏好。這將像以前一樣繼續(xù)工作,但仍將僅使用瀏覽器本地存儲。
新的偏好系統
新系統在@wordpress/preferences包中實現。這個包實現了任何偏好數據的集中存儲,并且可以被插件使用。
與插件相關的 API 易于使用:
// Set defaults for any preferences on initialization.
// A new user's preferences will have these values.
// Default values are not persisted.
wp.preferences.setDefaults( 'my-plugin', {
preferenceA: 1,
preferenceB: false,
} );
// Update preference values. These values will be persisted.
wp.preferences.set( 'my-plugin', 'preferenceA', 2 );
wp.preferences.toggle( 'my-plugin', 'preferenceB' );
// Read preference values.
wp.preferences.get( 'my-plugin', 'preferenceA' ); // 2
wp.preferences.get( 'my-plugin', 'preferenceB' ); // true
'my-plugin'值稱為一個scope,首選項系統使用它來劃分數據。
參考文檔:
聲明:本站所有文章,如無特殊說明或標注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發(fā)布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。




