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

论坛首页 论坛 寻求帮助 古登堡编辑器如何设置上传图片时,自动居中对齐呢?

标签: 

正在查看 2 条回复
  • 作者
    帖子
    • #20719
      那条鱼不洗澡
      参与者
        @leon
        楼主
        铭牌标题
        waoww.com

        好吧, 当我使用经典编辑器的时候,该代码有效:

        add_action( ‘after_setup_theme’, ‘default_attachment_display_settings’ );
        function default_attachment_display_settings() {
        update_option( ‘image_default_align’, ‘left’ );
        update_option( ‘image_default_link_type’, ‘none’ );
        update_option( ‘image_default_size’, ‘full’ );
        }

         

        但是,使用古登堡编辑器的时候,这个函数无效。

      • #20723
        不凡
        版主
          @edipse
          wp.bufanz.com

          https://litepress.cn/plugins/qqworld-auto-save-images

          我知道有个保存站外图片的插件可以做到自动居中对齐,上传图片不知道能不能,自己试试呗

          • #20724
            那条鱼不洗澡
            参与者
              @leon
              楼主
              铭牌标题
              waoww.com

              你有试过这个插件在古登堡编辑器上可用么?

              我有QQworld的另一个高级付费版,它似乎也不可用

              • #20725
                不凡
                版主
                  @edipse
                  wp.bufanz.com

                  没试过,刚搭建WP站点,以为可能要用,后来发现不需要,就把插件卸载了

                  • #20726
                    那条鱼不洗澡
                    参与者
                      @leon
                      楼主
                      铭牌标题
                      waoww.com

                      在经典编辑器上是可用的,但是,特瞄的,古登堡不行。正在尝试是否有解决办法。不然太累人了。

                    • #20727
                      不凡
                      版主
                        @edipse
                        wp.bufanz.com

                        如果没有办法,要么放弃,要么换经典编辑器

                • #20728
                  孙锡源
                  管理员
                    @ibadboy
                    坏蛋的博客
                    ibadboy.net

                    古腾堡完全使用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;
                        },
                    );

                     

                正在查看 2 条回复
                • 哎呀,回复话题必需登录。