在使用 WooCommerce 搭建电商网站时,你可能会发现产品页面内容编辑区默认不支持 Elementor 免费版(需升级 PRO)与 Gutenberg 块编辑器,这在一定程度上限制了我们对产品页面编辑的灵活性和丰富性。不过别担心,今天就来教大家通过一段代码轻松实现让 WooCommerce 产品页支持古腾堡编辑器。
一、实现原理
我们需要在网站模板主题目录下的 functions.php 文件中添加特定的代码,通过添加过滤器(filter)来修改相关设置,从而启用古腾堡编辑器。
(一)启用产品页的古腾堡编辑器
代码功能
以下代码片段的主要功能是在判断当前编辑的文章类型为 “product”(产品)时,将其设置为可使用块编辑器(古腾堡编辑器)。
// Enable Gutenberg editor for WooCommerce
function j0e_activate_gutenberg_product( $can_edit, $post_type ) {
if ( $post_type == 'product' ) {
$can_edit = true;
}
return $can_edit;
}
add_filter( 'use_block_editor_for_post_type', 'j0e_activate_gutenberg_product', 10, 2 );
代码解析
首先定义了一个名为j0e_activate_gutenberg_product的函数,它接受两个参数$can_edit和$post_type。$can_edit用于表示是否可以使用块编辑器,$post_type表示当前编辑的文章类型。
在函数内部,通过判断$post_type是否等于 “product”,如果是,则将$can_edit设置为true,表示该产品页面可以使用古腾堡编辑器。
最后,使用add_filter函数将j0e_activate_gutenberg_product函数添加到use_block_editor_for_post_type过滤器中,这个过滤器用于控制特定文章类型是否使用块编辑器。这里的10表示过滤器的优先级,2表示函数接受的参数个数。
(二)启用分类法字段的 REST API 支持
代码功能
这段代码的作用是为 WooCommerce 的产品分类(product_cat)和产品标签(product_tag)启用 REST API 支持,以便在古腾堡编辑器中更好地处理分类相关操作。
// enable taxonomy fields for woocommerce with gutenberg on
function j0e_enable_taxonomy_rest( $args ) {
$args['show_in_rest'] = true;
return $args;
}
add_filter( 'woocommerce_taxonomy_args_product_cat', 'j0e_enable_taxonomy_rest' );
add_filter( 'woocommerce_taxonomy_args_product_tag', 'j0e_enable_taxonomy_rest' );
代码解析
定义了j0e_enable_taxonomy_rest函数,它接受一个参数$args,这个参数是分类法的参数数组。
在函数内部,将$args数组中的show_in_rest键的值设置为true,这表示启用该分类法的 REST API 支持。
最后,分别使用add_filter函数将j0e_enable_taxonomy_rest函数添加到woocommerce_taxonomy_args_product_cat和woocommerce_taxonomy_args_product_tag过滤器中,分别用于处理产品分类和产品标签的相关设置。
二、使用方法
找到网站模板主题目录下的 functions.php 文件。这个文件通常位于你的 WordPress 主题文件夹内,路径可能类似于:外观/主题文件编辑器/functions.php。
将上述两段代码完整地复制粘贴到 functions.php 文件的末尾。注意不要覆盖文件中已有的其他重要代码。
保存 functions.php 文件。
重新刷新产品详情页的编辑页面,你就会发现古腾堡编辑器已经被激活,可以像编辑普通文章一样使用古腾堡编辑器来编辑产品页面内容了,并且分类相关操作也能在古腾堡编辑器中更好地进行。
通过以上简单的步骤,我们就成功地让 WooCommerce 产品页支持了古腾堡编辑器,为产品页面的编辑和定制提供了更多的可能性。希望这篇文章能帮助到有需要的朋友们。如果你在操作过程中遇到任何问题,欢迎留言交流。
暂无评论内容