Tôi đang cố gắng thêm một lớp vào danh sách các khối ( core/list
) trong Gutenberg. Thật không may, có vẻ như vì một số khối như danh sách và đoạn văn không có tên lớp mặc định tiêu chuẩn của wp-block-{name}
chúng không thể được đổi tên bằng blocks.getBlockDefaultClassName
bộ lọc.
Để giải quyết vấn đề đó, tôi đã sử dụng blocks.getSaveContent.extraProps
bộ lọc, dường như cho phép tôi thêm một lớp vào TẤT CẢ các khối chưa có lớp. Mã dưới đây là cách tôi đã làm việc đó. Đó là thêm added-class-name
vào các khối thích danh sách và đoạn văn, v.v.
function addBlockClassName( className ) {
return Object.assign( className, { class: 'added-class-name' } );
}
wp.hooks.addFilter(
'blocks.getSaveContent.extraProps',
'gdt-guten-plugin/add-block-class-name',
addBlockClassName
);
Và tôi đang mê mẩn nó như vậy:
function gdt_blocks_class_rename() {
wp_enqueue_script(
'gdt-plugin-blacklist-blocks',
get_stylesheet_directory_uri() . '/dist/guten-addons.js',
array( 'wp-blocks' )
);
}
add_action( 'enqueue_block_editor_assets', 'gdt_blocks_class_rename' );
Tuy nhiên, điều tôi muốn có thể làm là thêm một lớp vào các khối danh sách CHỈ ? Điều đó có thể được thực hiện ở tất cả?
class: 'wp-block-list'
cóclassName: 'wp-block-list'
? Ngoài ra, bây giờ có mộtblocks.getBlockDefaultClassName
bộ lọc. @see developer.wordpress.org/block-editor/developers/filters/