最新公告
  • 欢迎您光临牛品源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
    • 网站公告
    • 热门标签
    • 资源专题
    • 资源存档
    • 联系我们
    牛品源码
    10年
    专注建站行业优质资源供应商
    升级SVIP
    登录 / 注册
    站长资源平台
    • 技术学习大厅
      • NET教程489
      • PHP教程429
      • C语言C++560
      • JAVA教程1742
      • Python教程447
      • 前端教程1297
      • 云计算教程465
      • 操作系统1028
      • 数据库教程923
      • 零基础视频教程14
      • WordPress教程111
        • WordPress子主题1
        • WordPress模板128
      • 其他教程104
        • CMS教程107
        • DEDECMS教程28
        • 编程办公84
    • 网站模板仓库
      • DEDECMS模板81
      • 帝国CMS模板88
      • 织梦模板源码192
      • 其它CMS模版12
      • 企业网站模板870
      • 响应式模板243
      • Discuz模板196
      • 单页模板212
      • 后台模板429
      • 模板素材243
      • 专题模板209
      • 简历模板345
    • 模板主题
      • PPT模板1832
      • 主题模板3833
      • 公司模板119
      • 动物模板41
      • 商务模板1505
      • 国外模板265
      • 科技模板169
      • 背景模板189
      • 自然模板151
      • 节日模板709
      • 行业模板718
      • 通用模板513
    • 设计学院
      • PPT模板1832
      • PSD素材3826
      • 设计素材3422
      • ppt素材645
      • ppt图表559
      • ppt特效428
      • 图片素材3138
      • 摄影剪辑34
    • 网站源码
      • 办公/软件/电脑420
      • 商城/淘客/网店264
      • 小说/新闻/博客163
      • 支付/金融/货币347
      • 电影/视频/音乐172
      • 会员/推广/交流94
      • 企业/公司/政府863
      • 亲测网站源码40
      • 小程序源码649
      • 影视网站源码15
      • 网站源码14270
      • 其它源码221
        • 汽车/车行/交通22
        • 资源/下载/技术62
        • 域名/空间/建站56
        • 个人网站27
        • 支付源码5
        • 防红源码7
    • 代码特效
      • CSS代码96
      • HTML5实例169
      • HTML编辑器24
      • css/div/h5特效230
      • 名站特效321
      • 图片特效558
      • 在线客服92
      • 常用特效986
      • 广告代码32
      • 图片代码322
    • 站长资讯
      • 云计算领域22
      • 大数据领域36
      • 网络推广156
      • 站长访谈173
      • 网站运营153
      • 搜索优化867
      • 健身养生32
      • 两性相关49
      • 其他分享55
      • 职场关系37
      • 自我提升76
      • 长点知识29
      • 新媒体运营15
    • QQ工具箱
      • QQ签名1611
      • QQ头像101
      • QQ皮肤155
      • QQ表情216
      • QQ网名4154
      • QQ说说507
      • 技术工具23
      • 学习测试16
      • 微信技巧20
      • QQ技巧25

    WordPress如何给古腾堡编辑器添加自定义模块

    2020-06-28 CMS教程 18 已收录
    当前位置:牛品源码 > 学习教程 > CMS教程 > WordPress如何给古腾堡编辑器添加自定义模块
    正文概述

    大多WordPress站长都表示用不习惯古腾堡编辑器,甚至在WordPress的商店里评分还是负数,但是我个人还是挺喜欢用这个编辑器的。比起之前那个大型富文本输入框,这种编辑器可谓即优雅又实用。

    但这只是个开始,个人认为,能够有效的自定义模块,才是古腾堡编辑器最有优势的地方。

    关于古腾堡编辑器,官方之前给了一个初步的文档,但是那个文档是以插件化为教程进行的,对于主题设计者而言,更希望在自己的主题里直接加入古腾堡自定义模块比较方便,因此本文的方向是在主题里直接往古腾堡编辑器里插入自定义模块。

    今天我们来了解下如何给古腾堡编辑器添加自定义模块。

    加载古腾堡自定义模板

    //加载古腾堡自定义模板
    function my_gutenberg_block(){
    	//注册古腾堡编辑器
    	wp_register_script( \'block-js\', get_template_directory_uri() . \'/extends/src/blocks.js\', array(\'wp-blocks\', \'wp-element\', \'wp-editor\', \'wp-i18n\'), \'1.0.0\' );
    	//插入模块
    	//fishtheme/block可自定义, 比如: demo/block
    	register_block_type( \'fishtheme/block\', array(
    		\'editor_script\' => \'block-js\'
    	) );
    }
    add_action( \'init\', \'my_gutenberg_block\' );
    

    新建blocks.js

    在目前使用的WordPress主题目录下,新建一个src的文件夹,并新建blocks.js。

    blocks.js文件路径可以自定义,注意把上面代码里的对应路径也改一下就行。

    编辑blocks.js

    这个是古腾堡核心文件,基本所有的功能都在这里。

    //js代码
    //引入对应方法, 需要注意的是这里引用了4个方法, 那么在底部也需要window.wp.回调这4个方法
    //这4个方法的来源是functions.php里的wp_register_script时array()里传入, 需要注意一一对应
    (function (blocks, element, editor, i18n) {
        var el = element.createElement; //用于输出HTML
        var RichText = editor.RichText; //用于获取文本输入块
    
        blocks.registerBlockType(\'gutenberg-examples/example-03-editable\', {
            title: \'测试模块\', //标题
            icon: \'universal-access-alt\', //图标
            category: \'layout\', //对应栏目
            attributes: { //模块的属性
                content: {
                    type: \'array\',
                    source: \'children\',
                    selector: \'p\',
                },
            },
            //编辑时
            edit: function (props) {
                //获取模块输入的值
                var content = props.attributes.content;
                //点击输入框时用的方法
                function onChangeContent(newContent) {
                    //将输入框里的内容输出到模块属性里
                    props.setAttributes({ content: newContent });
                }
                //返回HTML
                //el的方法格式为: el( 对象, 属性, 值 ); 可以相互嵌套
                //例如:
                // el(
                //     \'div\',
                //     {
                //         className: \'demo-class\',
                //     },
                //     \'DEMO数据\'
                // );
                // 输出为: <div class=\"demo-class\">DEMO数据</div>
                return el(
                    RichText,
                    {
                        tagName: \'p\',
                        className: props.className,
                        onChange: onChangeContent,
                        value: content,
                    }
                );
            },
            //保存时
            save: function (props) {
                //保存时返回的HTML
                return el(RichText.Content, {
                    tagName: \'p\', value: props.attributes.content,
                });
            },
        });
    }(
        window.wp.blocks,
        window.wp.element,
        window.wp.editor,
        window.wp.i18n
    ));
    

    查看效果

    以上步骤完成后,在编辑器页面刷新,然后添加区块,看看是不是添加成功了。

    此为官网提供的demo,如果想更深一步的开发自己需要的复杂的模块,请直接参考文章开始的《Block Editor Handbook》。

    RIPRO主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
    牛品源码 » WordPress如何给古腾堡编辑器添加自定义模块

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    站壳网
    一个高级程序员模板开发平台

    普通

    分享到:
    上一篇
    WordPress如何调用指定ID文章
    下一篇
    WordPress评论获取QQ头像和昵称教程

    相关推荐

    WordPress优化之去掉分类链接中的category

    WordPress优化之去掉分类链接中的category

    WordPress获取文章所属分类名称、分类ID、分类别名

    WordPress获取文章所属分类名称、分类ID、分类别名

    WordPress如何截取文章摘要/文章标题/文章内容字数

    WordPress如何截取文章摘要/文章标题/文章内容字数

    WordPress实现文章部分内容评论/回复后可见的功能

    WordPress实现文章部分内容评论/回复后可见的功能

    发表评论 取消回复

    站长交流群

    互联网站长技术交流群
    共同学习,共同进步,共同成长!

    QQ交流群
    标签
    MYSQL数据库 (923) nosql数据库 (923) Oracle数据库技术 (923) PHP源码 (2111) PHP源码下载 (2108) ppt免费下载 (1832) ppt图片 (1832) ppt文档下载 (1832) PPT模板 (1833) ppt素材 (1832) ppt背景 (1850) psd分层 (3826) PSD图片下载 (3826) psd源文件 (3826) PSD素材 (3826) PSD素材下载 (3826) PSD设计素材 (3826) windows从入门到精通 (1028) [db:标签] (17158) 企业ppt (1832) 企业模板下载 (1582) 企业源码 (1324) 企业网站模板 (1324) 公司网站模板 (1327) 前端开发教程 (1297) 办公ppt (1832) 图片素材 (3143) 操作系统 (1028) 操作系统技术 (1028) 操作系统教程 (1028) 数据库 (985) 服务器教程 (1028) 模板 (1029) 移动网页前端开发 (1297) 网站前端开发 (1297) 网站模板下载 (1582) 网站源码 (2178) 网站源码现下载 (2108) 网页前端开发教程 (1297) 背景图片下载 (3138) 设计图片素材 (6560) 设计素材 (3424) 设计素材下载 (3422) 设计素材免费下载 (3422) 高清图片下载 (3138)
    • 265会员总数(位)
    • 66769资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 1885稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    牛品源码

    加入本站会员
    开启尊贵特权之体验 本站资源支持会员下载专享,普通注册会员只能原价购买资源或者限制免费下载次数,付费会员所有资源可无限下载。并可享受资源折扣或者免费下载。

    本站导航
    友情链接
    开通会员享受折扣优惠
    © 2025 All rights reserved 京ICP备18888888号 京公网安备 188888888

    • SVIP
      升级SVIP会员

      限时钜惠
      终身SVIP仅需39元

      立即开通

    • 客服
      工作时间

      工作日:9:00 - 23:00
      节假日:9:00 - 23:00

      点击咨询客服

    • QQ群

    • 建站

    • 优化

    • 全屏

    牛品源码
    • 登录
    • 注册
    忘记密码?
    牛品源码
    • 技术学习大厅 ►
      • NET教程489
      • PHP教程429
      • C语言C++560
      • JAVA教程1742
      • Python教程447
      • 前端教程1297
      • 云计算教程465
      • 操作系统1028
      • 数据库教程923
      • 零基础视频教程14
      • WordPress教程111 ►
        • WordPress子主题1
        • WordPress模板128
      • 其他教程104 ►
        • CMS教程107
        • DEDECMS教程28
        • 编程办公84
    • 网站模板仓库 ►
      • DEDECMS模板81
      • 帝国CMS模板88
      • 织梦模板源码192
      • 其它CMS模版12
      • 企业网站模板870
      • 响应式模板243
      • Discuz模板196
      • 单页模板212
      • 后台模板429
      • 模板素材243
      • 专题模板209
      • 简历模板345
    • 模板主题 ►
      • PPT模板1832
      • 主题模板3833
      • 公司模板119
      • 动物模板41
      • 商务模板1505
      • 国外模板265
      • 科技模板169
      • 背景模板189
      • 自然模板151
      • 节日模板709
      • 行业模板718
      • 通用模板513
    • 设计学院 ►
      • PPT模板1832
      • PSD素材3826
      • 设计素材3422
      • ppt素材645
      • ppt图表559
      • ppt特效428
      • 图片素材3138
      • 摄影剪辑34
    • 网站源码 ►
      • 办公/软件/电脑420
      • 商城/淘客/网店264
      • 小说/新闻/博客163
      • 支付/金融/货币347
      • 电影/视频/音乐172
      • 会员/推广/交流94
      • 企业/公司/政府863
      • 亲测网站源码40
      • 小程序源码649
      • 影视网站源码15
      • 网站源码14270
      • 其它源码221 ►
        • 汽车/车行/交通22
        • 资源/下载/技术62
        • 域名/空间/建站56
        • 个人网站27
        • 支付源码5
        • 防红源码7
    • 代码特效 ►
      • CSS代码96
      • HTML5实例169
      • HTML编辑器24
      • css/div/h5特效230
      • 名站特效321
      • 图片特效558
      • 在线客服92
      • 常用特效986
      • 广告代码32
      • 图片代码322
    • 站长资讯 ►
      • 云计算领域22
      • 大数据领域36
      • 网络推广156
      • 站长访谈173
      • 网站运营153
      • 搜索优化867
      • 健身养生32
      • 两性相关49
      • 其他分享55
      • 职场关系37
      • 自我提升76
      • 长点知识29
      • 新媒体运营15
    • QQ工具箱 ►
      • QQ签名1611
      • QQ头像101
      • QQ皮肤155
      • QQ表情216
      • QQ网名4154
      • QQ说说507
      • 技术工具23
      • 学习测试16
      • 微信技巧20
      • QQ技巧25
    2025年5月
    一 二 三 四 五 六 日
     1234
    567891011
    12131415161718
    19202122232425
    262728293031  
    « 8月    
    ×
    • 首页

    • 签到

    • 切换

    • 客服

      牛品源码公告:

      终身SVIP限时39元 会员专享优质资源 内容持续上新
      本站资源支持会员下载专享,普通注册会员只能原价购买资源或者限制免费下载次数,付费会员所有资源可无限下载。并可享受资源折扣或者免费下载。
      声明:本站发布的文章及附件仅限用于学习和研究目的.请勿用于商业或非法用途,否则后果请用户自负。 本站所有资源不带技术支持,下载资源请24小时内删除,如用于违法用途,或者商业用途,一律使用者承担。