Hướng Dẫn Tạo Block WordPress Bằng @wordpress/scripts Dành Cho Người Mới Bắt Đầu
Trong hệ sinh thái Gutenberg của WordPress, việc xây dựng block tùy chỉnh đã trở thành xu hướng quan trọng giúp mở rộng chức năng và tối ưu trải nghiệm biên tập nội dung. Công cụ @wordpress/scripts được ra đời nhằm đơn giản hóa quá trình thiết lập môi trường lập trình, giúp lập trình viên tạo block WordPress một cách nhanh chóng, gọn nhẹ và chuyên nghiệp hơn.
Bài viết này hướng dẫn chi tiết cách sử dụng @wordpress/scripts để tạo block từ A–Z, phù hợp cho cả người mới và lập trình viên muốn tối ưu workflow.
1. Chuẩn Bị Môi Trường Phát Triển
Trước khi bắt đầu tạo block WordPress, bạn cần chuẩn bị đầy đủ công cụ sau:
- Một website WordPress chạy local hoặc trên hosting.
- Node.js và npm phiên bản mới nhất.
- Theme hoặc plugin tùy chỉnh để chứa file block.
Khi đã có đầy đủ các thành phần trên, bạn có thể bắt đầu cài đặt @wordpress/scripts để biên dịch mã JavaScript hiện đại (ESNext) sang mã tương thích với WordPress.
2. Cài Đặt @wordpress/scripts
Trong thư mục theme hoặc plugin của bạn, mở terminal và chạy lệnh:
npm install --save-dev @wordpress/scripts Lệnh này sẽ thêm gói @wordpress/scripts vào dự án, cho phép bạn sử dụng các lệnh build, start, lint… nhằm tối ưu quá trình lập trình block.
3. Tạo Block WordPress Cơ Bản
Tạo thư mục block mới, ví dụ:
my-custom-block/ Bên trong, tạo file block.js và thêm đoạn mã sau:
const { registerBlockType } = wp.blocks; registerBlockType( 'myplugin/my-custom-block', { title: 'My Custom Block', icon: 'smiley', category: 'widgets', edit() { return Hello, this is my custom block!
; }, save() { return Hello, this is my custom block!
; } }); Đây là cấu trúc block đơn giản nhất gồm hai hàm quan trọng:
- edit() – hiển thị block trong trình chỉnh sửa Gutenberg
- save() – nội dung block được lưu và hiển thị trên frontend
4. Kết Nối Block Với WordPress Qua PHP
Trong cùng thư mục, tạo file index.php và thêm mã:
function my_custom_block_register() { wp_register_script( 'my-custom-block-script', plugins_url( 'block.js', __FILE__ ), array( 'wp-blocks', 'wp-element', 'wp-editor' ), true ); register_block_type( 'myplugin/my-custom-block', array( 'editor_script' => 'my-custom-block-script', ) ); } add_action( 'init', 'my_custom_block_register' ); Hàm này đăng ký file block.js và thông báo cho WordPress biết rằng đây là block mới.
5. Thiết Lập package.json Để Build Mã
Tạo file package.json với nội dung:
{ "name": "my-custom-block", "version": "1.0.0", "scripts": { "build": "wp-scripts build", "start": "wp-scripts start" } } Bây giờ bạn có thể chạy:
npm run build– biên dịch mã để đưa lên productionnpm run start– mode phát triển, tự động reload
6. Tạo Block Có Attributes (Nâng Cao)
Để block lưu trữ nội dung động, bạn cần dùng attributes. Ví dụ:
registerBlockType('myplugin/my-custom-block', { attributes: { content: { type: 'string', source: 'text', selector: 'p' } }, edit({ attributes, setAttributes }) { return ( Nhờ attributes, người dùng có thể nhập nội dung tùy chỉnh — block trở nên hữu ích và linh hoạt hơn rất nhiều.
7. Kiểm Tra Block Trong WordPress
Sau khi hoàn tất, hãy:
- Kích hoạt plugin hoặc theme chứa block.
- Mở Gutenberg Editor.
- Tìm block theo tên bạn đã đăng ký.
Giờ đây bạn có thể kéo block vào bài viết để kiểm thử.
Kết Luận
@wordpress/scripts là công cụ mạnh mẽ giúp lập trình viên tạo block WordPress nhanh hơn và dễ dàng hơn. Chỉ với vài bước đơn giản — cài đặt, khai báo block, kết nối PHP và build mã — bạn đã có thể phát triển block tùy chỉnh cho mọi dự án WordPress.
Nếu bạn đang xây dựng theme, plugin hoặc muốn mở rộng website theo hướng hiện đại, việc thành thạo @wordpress/scripts là kỹ năng quan trọng không thể bỏ qua.
