當(dāng)前位置:首頁>WordPress資訊>WordPress 5.7 中新的區(qū)塊變體API

WordPress 5.7 中新的區(qū)塊變體API

新屬性 isActive

塊變體設(shè)置現(xiàn)在可以包含一個(gè)新屬性 isActive。此可選屬性是一個(gè)功能,古騰堡編輯器使用該功能來確定給定塊的變化形式。這意味著諸如的塊編輯器界面,比如BlockCard可以顯示塊變體的標(biāo)題和描述,而不是塊的標(biāo)題和描述。

我們需要此功能由塊/插件作者顯式實(shí)現(xiàn),因?yàn)樵谠S多情況下,通過動(dòng)態(tài)檢查所有塊屬性來嘗試找到匹配項(xiàng)是沒有意義的。一個(gè)例子是 embed 我們可能已經(jīng)更改了響應(yīng)屬性塊,因此找不到匹配項(xiàng)。

單個(gè)塊變體中的示例:

const variations = [
     {
         name: 'wordpress',
         title: 'WordPress',
         keywords: [ ( 'post' ), ( 'blog' ) ],
         description: __( 'Embed a WordPress post.' ),
         attributes: { providerNameSlug: 'wordpress' },
         isActive: ( blockAttributes, variationAttributes ) =>
             blockAttributes.providerNameSlug ===
             variationAttributes.providerNameSlug,
     },
 ];

所有變體都使用相同的匹配函數(shù)時(shí)的示例:

const variations = [
     {
         name: 'twitter',
         title: 'Twitter',
         icon: embedTwitterIcon,
         keywords: [ 'tweet', ( 'social' ) ],         description: ( 'Embed a tweet.' ),
         patterns: [ /^https?:\/\/(www.)?twitter.com\/.+/i ],
         attributes: { providerNameSlug: 'twitter', responsive: true },
     },
     {
         name: 'wordpress',
         title: 'WordPress',
         icon: embedWordPressIcon,
         keywords: [ ( 'post' ), ( 'blog' ) ],
         description: __( 'Embed a WordPress post.' ),
         attributes: { providerNameSlug: 'wordpress' },
     },
 ];
 variations.forEach( ( variation ) => {
     if ( variation.isActive ) return;
     variation.isActive = ( blockAttributes, variationAttributes ) =>
         blockAttributes.providerNameSlug ===
         variationAttributes.providerNameSlug;
 } );
 export default variations;

新鉤子 useBlockDisplayInformation

useBlockDisplayInformation 是一個(gè)新的掛鉤,它返回有關(guān)塊的顯示信息。它考慮了每個(gè)塊變量的isActive屬性。它返回塊變化或塊的 title, icon 和 description

如果找不到塊變化匹配,則返回的信息將來自塊類型。如果未找到塊類型,則返回null

用法示例:

import { useBlockDisplayInformation, BlockIcon } from '@wordpress/block-editor';
 function myBlockInformation( clientId ) {
     const blockInformation = useBlockDisplayInformation( clientId );
     if ( ! blockInformation ) return null;
     const { title, icon, description } = blockInformation;
     return (
         
                          { title }
             { description }         

     );
 }
聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號(hào) WPDAXUE
WordPress資訊

WordPress 5.6.2 已發(fā)布,修復(fù)5個(gè)問題

2021-2-23 10:20:10

WordPress資訊

WordPress 5.7 增強(qiáng)導(dǎo)入/導(dǎo)出功能

2021-3-1 8:39:40

0 條回復(fù) A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個(gè)人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

肇东市| 富源县| 盐源县| 绍兴县| 滕州市| 汉中市| 蛟河市| 溧阳市| 新宁县| 顺义区| 洞头县| 婺源县| 化州市| 中方县| 南郑县| 新津县| 曲松县| 化隆| 双牌县| 天柱县| 韩城市| 昌吉市| 河北省| 龙井市| 莱芜市| 容城县| 石家庄市| 乌兰察布市| 清河县| 娱乐| 土默特左旗| 台南县| 台北市| 巴里| 昌乐县| 贵溪市| 福安市| 周宁县| 敦煌市| 邻水| 会同县|