php - 删除单个产品选项卡并在 Woocommerce 中添加相关内容

标签 php wordpress woocommerce tabs product

我有一个客户想要将 WooCommerce 中单个产品页面上的默认选项卡中的信息拉到页面上的不同位置,并完全删除这些选项卡。

共有三个默认产品标签:

  • 产品描述,
  • 附加信息
  • 和评论。

删除选项卡并设置要显示的描述很容易在
中设置 /wp-content/plugins/woocommerce/includes/wc-template-hooks.php:

remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 );

function woocommerce_template_product_description() {
woocommerce_get_template( 'single-product/tabs/description.php' );
}
add_action( 'woocommerce_after_single_product_summary', 'woocommerce_template_product_description', 10 );

这很好用。

我尝试通过构建新函数来重复该过程,这些函数可以访问附加信息评论 的模板文件,如下所示:

function woocommerce_template_product_addinfo() {
  woocommerce_get_template( 'single-product/tabs/additional-information.php' );
}
add_action( 'woocommerce_after_single_product_summary', 'woocommerce_template_product_addinfo', 20 );

function woocommerce_template_product_reviews() {
  woocommerce_get_template( 'single-product/review-rating.php' );
}
add_action( 'woocommerce_after_single_product_summary', 'woocommerce_template_product_reviews', 30 );

但两者都没有显示。我在这里做错了什么?

最佳答案

首先 woocommerce_get_template() 被弃用,取而代之的是 wc_get_template()。经过一些搜索和测试(主要是为了显示评论),我找到了方法:

add_action( 'woocommerce_after_single_product_summary', 'removing_product_tabs', 2 );
function removing_product_tabs(){
    remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 );
    add_action( 'woocommerce_after_single_product_summary', 'get_product_tab_templates_displayed', 10 );
}
function get_product_tab_templates_displayed() {
    wc_get_template( 'single-product/tabs/description.php' );
    wc_get_template( 'single-product/tabs/additional-information.php' );
    comments_template();
}

代码进入您的事件子主题(或主题)的 function.php 文件。经过测试并且可以工作 (WC 3+)

关于php - 删除单个产品选项卡并在 Woocommerce 中添加相关内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49196441/

相关文章:

css - 在背景图片网址中,我有 [site_url] 而不是 wordpress 中的真实网址

php - 根据发布日期对动态 html 元素进行排序和 float

php - WooCommerce - 根据购物车小计隐藏/显示运输方式

php - 使用 mod_rewrite 将带有哈希字符的路径转换为查询字符串

php 注释 - 最小的工作示例

php - 如何在 Woocommerce 中内爆每个订单商品的一系列商品详细信息?

php - 在结账页面和 WooCommerce 数据字段中添加取货地点自定义字段

php - Woocommerce 可变产品未正确显示

php - 可配置产品中的 Magento 属性排序顺序

php - mysqli 查询问题。 mysqli_real_escape_string 错误