回复至:古登堡编辑器如何设置上传图片时,自动居中对齐呢?

孙锡源
  • 文章数量: 704
@ibadboy

古腾堡完全使用JS驱动,它有一套单独的基于JS的钩子体系,所以你的PHP代码失效是情理之中的。

首先在你主题的functions.php中加入以下代码以在网页中引入JS。

add_action( 'enqueue_block_editor_assets', function () {
    // JS文件保存路径,把/js改成你想保存到的主题目录下
    $js_dir = get_stylesheet_directory_uri() . '/js';

    wp_enqueue_script( 'custom-image-block', $js_dir . '/custom-image-block.js', array(
        'wp-blocks',
        'wp-dom'
    ), '', true );
}, 100 );

之后创建这个JS文件,并向其中写入以下代码:

wp.hooks.addFilter(
    'blocks.registerBlockType',
    'textdomain/change-image-default-alignment',
    function (settings, name) {
      if (name !== 'core/image') {
        return settings;
      }
      const newSettings = {
        ...settings,
        attributes: {
          ...settings.attributes,
          align: { type: 'string', default: 'center' },
        },
      };
      return newSettings;
    },
);

 

来自, 香港, 中国