主页/WordPress笔记/博客文章/综合文章/如何在 WordPress 区块之间添加或移除空白空间(4 种方法)

如何在 WordPress 区块之间添加或移除空白空间(4 种方法)

Bug编译狮

Bug编译狮

在 WordPress 中,如果你希望在区块之间添加或移除空白空间,可以采用以下几种方法:

方法一:使用 wp-blockswp-components

  1. 插入空白区块

    • 打开你的编辑器。
    • 点击右上角的“插入”按钮,选择“空白区块”。
    • 你可以通过拖动滑块来调整空白区块的大小。
  2. 调整空白区块位置

    • 在编辑器中找到空白区块的位置。
    • 使用鼠标悬停在空白区块上方,点击右侧的小箭头以查看和调整其属性。
  3. 移除空白区块

    • 如果不需要某个空白区块,只需将其拖到另一个区块上方即可删除它。

示例代码

// 插入空白区块
add_filter('render_block', 'insert_blank_block', 99, 3);
function insert_blank_block($content, $block, $context) {
    // 假设我们正在插入空白区块
    if ($block['name'] == 'Blank') {
        return '';
    }
    return $content;
}

步骤说明

  1. 打开您的 WordPress 编辑器。
  2. 在页面顶部的编辑面板中,找到“过滤器”部分。
  3. 添加上述代码片段。
  4. 保存并刷新页面。

效果展示

  • 当您插入一个空白区块时,系统会自动渲染一个空的区块区域,您可以在此处放置任何内容。
  • 您可以通过调整空白区块的属性来改变其宽度、高度等,从而实现不同的视觉效果。

方法二:使用 CSS 样式

  1. 插入空白区块

    • 如前文所述,打开编辑器并插入空白区块。
  2. 应用 CSS 隐藏空白区块

    • 在空白区块下方,添加以下 CSS 代码:

      .no-padding { padding: 0 !important; }

    这将隐藏空白区块的边距。

  3. 移除空白区块

    • 为了移除空白区块,您可以在 CSS 文件中定义一个类名,例如 .hidden-blank-block,然后在模板文件中添加该类名:

      <div class="hidden-blank-block">
       <!-- 白空白区块内容 -->
      </div>

示例代码

// 应用 CSS 隐藏空白区块
add_action('admin_head', 'apply_css_to_hide_blank_blocks');
function apply_css_to_hide_blank_blocks() {
    ?>
    <style type="text/css">
        .no-padding { padding: 0 !important; }
    </style>
    <?php
}

// 移除空白区块
add_shortcode('remove_blank_block', 'shortcode_remove_blank_block');
function shortcode_remove_blank_block() {
    ob_start();
    echo '<div class="hidden-blank-block">';
    do_shortcode('[blank]');
    echo '</div>';
    return ob_get_clean();
}

步骤说明

  1. 将上述代码附加到 WordPress 的 admin_head 函数中,确保在编辑空白区块之前执行。
  2. 在模板文件中创建一个名为 remove_blank_block 的短代码。
  3. 在编辑空白区块时,使用 [remove_blank_block] 代替默认的空白区块。

效果展示

  • 白空白区块被隐藏,仅在需要显示时才出现。
  • 移除空白区块后,空白区块会被完全移除,没有额外的空白区域。

这些方法可以帮助你在 WordPress 中灵活地控制区块之间的间距和布局。根据具体需求选择合适的方法进行操作。

黑板前的Bug语法讲师

黑板前的Bug语法讲师

在 WordPress 中添加或移除空白空间的方法

在WordPress中,我们可以使用多种方式来控制区块之间的间距和布局。这里我们将介绍四种不同的方法:

方法一:使用 wp_block_editor_css 编辑器

步骤 1: 确保你已安装并激活了 wp-block-editorwp-element

cd wp-content/plugins/
git clone https://github.com/WordPress/Elementor.git
cd Elementor
git checkout main
npm install --prefix wp-content/themes/mytheme

步骤 2: 创建一个名为 mytheme-custom.css 的新文件并在其中添加以下 CSS 代码:

/* 添加样式 */
.block__separator {
    height: 0;
}

步骤 3: 在你的主题的 functions.php 文件中添加以下 JavaScript 代码以启用 wp_block_editor_css:

add_theme_support( 'editor-styles', [
    'custom_styles' => [
        'block_separator_height' => true,
    ],
] );

步骤 4: 更新你的插件设置以启用编辑器样式功能:

function mytheme_custom_styles() {
    add_action( 'admin_head', 'mytheme_custom_styles_admin_head' );
    add_action( 'admin_footer', 'mytheme_custom_styles_admin_footer' );
}

function mytheme_custom_styles_admin_head() {
    echo '<style type="text/css">';
    echo '.wp-block-separator {height: 0;}</style>';
    echo '</style>';
}

function mytheme_custom_styles_admin_footer() {
    echo '</style>';
}

步骤 5: 将这些更改应用到你的网站上并测试区块间的间距是否正常。

方法二:使用 wpb_remove_plugin_from_editing_area 函数

步骤 1: 首先,确保你的主题已经包含了一个可以修改区块位置的插件,例如 Block Editor Positioner.

cd wp-content/plugins/block-editor-positioner
composer update

步骤 2: 创建一个名为 positioner.js 的新文件并添加以下代码:

(function($) {

    $.fn.wpbe_remove_plugin = function(pluginName) {
        return this.each(function() {
            var $this = $(this);
            if (!$this.data('removePlugin')) {
                $this.data('removePlugin', new Object());
            }
            $this.data('removePlugin').pluginName = pluginName;

            // Remove the block from the editor area.
            $this.removeAttr('data-block');
        });
    };

})(jQuery);

$(document).ready(function() {
    $('.wp-block').wpbe_remove_plugin('Your Plugin Name Here');
});

步骤 3: 将上述代码添加到你的主题的 functions.php 文件中。

步骤 4: 更新插件设置以启用编辑器样式功能:

function mytheme_custom_styles() {
    add_action( 'admin_head', 'mytheme_custom_styles_admin_head' );
    add_action( 'admin_footer', 'mytheme_custom_styles_admin_footer' );
}

function mytheme_custom_styles_admin_head() {
    echo '<script src="https://cdn.jsdelivr.net/npm/@wordpress/block-editor@7.6/dist/editors/positioner.min.js"></script>';
}

function mytheme_custom_styles_admin_footer() {
    echo '</script>';
}

步骤 5: 将这些更改应用到你的网站上并测试区块间的间距是否正常。

方法三:使用自定义 HTML 样式

步骤 1: 创建一个名为 mytheme-custom.css 的新文件并在其中添加以下 CSS 代码:

.block__separator {
    height: 0px !important;
}

步骤 2: 在你的主题的 functions.php 文件中添加以下 JavaScript 代码以启用自定义样式功能:

add_theme_support( 'editor-style-override', [
    'custom_style_overrides' => [
        'block_separator_height' => '0px',
    ],
] );

步骤 3: 更新插件设置以启用编辑器样式功能:

function mytheme_custom_styles() {
    add_action( 'admin_head', 'mytheme_custom_styles_admin_head' );
    add_action( 'admin_footer', 'mytheme_custom_styles_admin_footer' );
}

function mytheme_custom_styles_admin_head() {
    echo '<style type="text/css">';
    echo '.wp-block-separator {height: 0px !important;} /* Override default separator height */';
    echo '</style>';
    echo '</style>';
}

function mytheme_custom_styles_admin_footer() {
    echo '</style>';
}

步骤 4: 将这些更改应用到你的网站上并测试区块间的间距是否正常。

方法四:使用 wpb_remove_plugin_from_editing_area 函数

步骤 1: 安装并激活 Custom Block Separator 插件。

cd wp-content/plugins/
git clone https://github.com/pjwilkerson/Custom-Breakpoint-Separator
cd Custom-Breakpoint-Separator
npm install
npm run build

步骤 2: 在你的主题的 functions.php 文件中添加以下 JavaScript 代码以启用自定义样式功能:

add_theme_support( 'editors/custom_breakpoints', [
    'custom_styles' => [
        'block_separator_height' => false,
    ],
] );

步骤 3: 更新插件设置以启用编辑器样式功能:

function mytheme_custom_styles() {
    add_action( 'admin_head', 'mytheme_custom_styles_admin_head' );
    add_action( 'admin_footer', 'mytheme_custom_styles_admin_footer' );
}

function mytheme_custom_styles_admin_head() {
    echo '<script src="https://cdn.jsdelivr.net/npm/@wordpress/blocks-core@latest/dist/components/cbp-plugin.min.js"></script>';
}

function mytheme_custom_styles_admin_footer() {
    echo '</script>';
}

步骤 4: 将这些更改应用到你的网站上并测试区块间的间距是否正常。

通过以上几种方法,你可以轻松地在WordPress中添加或移除空白空间。希望这对你有所帮助!