php - 将简短描述移动到 Woocommerce 单个产品页面中的选项卡中
问题描述
在 woocommerce 单一产品页面中,如何将产品简短描述移动到描述和附加信息所在的自定义产品选项卡中?
我已将描述和附加信息选项卡从标准位置移动到产品摘要所在的右侧。但是,我想将产品摘要插入一个选项卡,因此基本上它将是 3 个选项卡。
我用来将标签移动到图像右侧的代码是:
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_output_product_data_tabs', 30 );
解决方案
您仍然保留以下更改选项卡位置的内容(就像您已经做的那样):
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_output_product_data_tabs', 30 );
然后,以下将简短描述的位置更改为自定义产品选项卡:
// Remove short description
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
// Add short description to a custom product tab
add_filter( 'woocommerce_product_tabs', 'add_custom_product_tab', 10, 1 );
function add_custom_product_tab( $tabs ) {
$custom_tab = array(
'custom_tab' => array(
'title' => __( "Short description", "woocommerce" ),
'priority' => 12,
'callback' => 'short_description_tab_content'
)
);
return array_merge( $custom_tab, $tabs );
}
// Custom product tab content
function short_description_tab_content() {
global $post, $product;
$short_description = apply_filters( 'woocommerce_short_description', $post->post_excerpt );
if ( ! $short_description ) {
return;
}
echo '<div class="woocommerce-product-details__short-description">' . $short_description . '</div>'; // WPCS: XSS ok.
}
代码继续在您的活动子主题(或活动主题)的 function.php 文件中。测试和工作。
推荐阅读
- laravel - 如何添加/覆盖 SessionGurad?
- c# - 在向数据库添加新实体时上下文不填充外键
- java - 将表达式反转为 Java 中的波兰表示法
- python - 使用列表范围执行循环
- sql - 使用 Tfs_Warehouse.dbo.FactCurrentWorkItem,如何从 Query 中获取请求和项目名称?
- python - 找不到 python 解释器时,Ansible play 挂起
- amazon-web-services - 由于 ClientError 无法将 VM 作为 AMI 导入:磁盘验证失败 [OVF 文件解析错误]
- java - 在 Java 源代码中增加堆大小
- google-apps-script - 访问 Google 表单的公共响应版本
- javascript - 无法让 npm 和 sqlite3 在 MacOS Catalina 上工作