WordPress主题开发系列教程(一):了解WordPress
WordPress最初只是一款博客平台,使用php编程语言开发,用户可以在支持php编程语言和MySQL数据库的服务器上使用WordPress搭建自己的博客。 …
目录
在 WordPress 主题开发 中,自定义区块(Custom Blocks)是现代化编辑体验的重要组成部分。随着 Gutenberg 编辑器(区块编辑器)的普及,传统的短代码(Shortcode)和自定义字段(Custom Fields)逐渐被更直观、可视化的区块替代。
那么,如何开发一个 WordPress 自定义区块,并将其集成到主题中呢?本文将带你了解完整的实现思路!
自定义区块相比传统的自定义字段或短代码,更加直观、用户友好,具备以下优势:
✅ 所见即所得:直接在编辑器中预览和调整内容,不需要切换到前端查看效果。
✅ 可重用:区块可以像组件一样多次使用,提高效率。
✅ 原生支持:WordPress 官方推荐方式,未来兼容性更好。
在 WordPress 主题开发 中,你可以使用 JavaScript(React + JSX)或 PHP 来创建自定义区块。
在 functions.php
中注册区块脚本:
function my_custom_block_assets() {
wp_register_script(
'my-custom-block',
get_template_directory_uri() . '/js/my-custom-block.js',
array('wp-blocks', 'wp-editor', 'wp-components', 'wp-i18n', 'wp-element'),
filemtime(get_template_directory() . '/js/my-custom-block.js')
);
register_block_type('mytheme/custom-block', array(
'editor_script' => 'my-custom-block',
));
}
add_action('init', 'my_custom_block_assets');
在 js/my-custom-block.js
中添加:
const { registerBlockType } = wp.blocks;
const { RichText } = wp.blockEditor;
registerBlockType('mytheme/custom-block', {
title: '自定义区块',
icon: 'smiley',
category: 'common',
attributes: {
content: { type: 'string', source: 'html', selector: 'p' }
},
edit: ({ attributes, setAttributes }) => {
return (
<RichText
tagName="p"
value={attributes.content}
onChange={(content) => setAttributes({ content })}
placeholder="输入你的内容..."
/>
);
},
save: ({ attributes }) => {
return <RichText.Content tagName="p" value={attributes.content} />;
}
});
如果你想让自定义区块更强大,可以增加以下功能:
editor.css
和 style.css
控制区块外观)。server-side render
动态渲染 PHP 数据。在 WordPress 主题开发 过程中,Gutenberg 自定义区块是未来的发展方向。通过自定义区块,你可以打造更加现代化、用户友好的编辑体验,让主题更加高效易用!
你是否也想让自己的主题支持更高级的 Gutenberg 自定义区块?快来试试吧!💡💻🚀
WordPress日记主要承接WordPress主题定制开发、PSD转WordPress、WordPress仿站以及以WordPress为管理后端的小程序、APP,我们一直秉持“做一个项目,交一个朋友”的理念,希望您是我们下一个朋友。如果您有WordPress主题开发需求,可随时联系QQ:919985494 微信:18539976310