首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Woocommerce中以编程方式打开特定的产品选项卡

在Woocommerce中以编程方式打开特定的产品选项卡
EN

Stack Overflow用户
提问于 2017-09-14 13:51:44
回答 1查看 3.3K关注 0票数 1

我在使用woocommerce。在提交了特定的表单后,我想将它发送到产品页面,打开一个特定的选项卡,这里是“添加信息”选项卡.

我怎样才能做到这一点?

我试过像'WEBSITE/product/product-3/#tab-additional_information‘这样的网址

但没起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-15 22:42:13

更新:

是的,只要在wp_footer动作钩子中钩住自定义php函数中的少量javascript和jQuery嵌入代码,这是可能的。

该电话将在url (如:WEBSITE/product/product-3/?tab=additional_information )中发出

下面是函数代码:

代码语言:javascript
复制
add_action( 'wp_footer', 'custom_reordering_product_tabs_action' );
function custom_reordering_product_tabs_action() {
     // Only in single product pages and a specific url (using GET method) 
    if( isset( $_GET['tab'] ) && is_product()) :
        ?>
        <script type="text/javascript">
        (function($){
            setTimeout(function() {
                $('ul.tabs.wc-tabs > li.active').removeClass("active");
                $('div#tab-description').hide();
                $('ul.tabs.wc-tabs > li.<?php echo $_GET['tab']; ?>_tab').addClass("active");
                $('div#tab-<?php echo $_GET['tab']; ?>').show();
            }, 500);
        })(jQuery);
        </script>
        <?php
    endif;
}

代码在您的活动子主题(或主题)的function.php文件中,或者在任何插件文件中。

此代码在Woocommerce 3+上进行了测试,并进行了工作。

可能是您可以做的,而不是自动打开一个产品选项卡,是自动重新排序在第一位置,该选项卡槽方法(在url中添加一个变量)。

您的url中的调用需要如下:WEBSITE/product/product-3/?tab=additional_information

您将能够使用woocommerce_product_tabs筛选器钩子中的自定义函数执行此操作:

代码语言:javascript
复制
add_filter( 'woocommerce_product_tabs', 'custom_reordering_product_tabs_action', 98 );
function custom_reordering_product_tabs_action( $tabs ) {
    if( empty( $_GET['tab'] ) ) return $tabs;

    $tabs[$_GET['tab']]['priority'] = 2;

    return $tabs;
}

代码在您的活动子主题(或主题)的function.php文件中,或者在任何插件文件中。

此代码在Woocommerce 3+上进行了测试,并进行了工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46220988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档