【问题标题】:Remove single product tabs and add the related content instead In Woocommerce在 Woocommerce 中删除单个产品选项卡并添加相关内容
【发布时间】:2018-03-09 14:58:03
【问题描述】:

我有一个客户想要将默认进入 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 );

效果很好。

我尝试通过构建访问 Additional InfoReviews 模板文件的新函数来重复该过程,如下所示:

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 );

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

【问题讨论】:

    标签: php wordpress woocommerce tabs product


    【解决方案1】:

    第一个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+)

    【讨论】:

    • 就是这样——感谢您为此以及清理我的问题。
    • @jimiayler 不客气......这不是那么容易找到......但现在它可以工作了:)
    • 同意尝试实现这种对 WooCommerce 用户界面的基本重新配置的难度——其他平台在这方面更加透明。
    • 有效!作为 wc_get_template('single-product-reviews.php');取消评论标签时没有!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多