2017-09-14 46 views
1

我正在使用woocommerce。提交特定表格后,我想将其发送到产品页面并打开某个选项卡,此处为“添加信息”选项卡...以编程方式在Woocommerce中打开特定产品选项卡

我该如何实现这一目标?

我已经试过像网址的网站/产品/产品-3 /#制表additional_information'

但它并没有奏效。

回答

1

更新时间:

是的,这是可能的的JavaScript在wp_footer动作钩子钩住一个自定义的PHP函数一点点和jQuery的嵌入代码。

通话预订购是如URL女仆:WEBSITE/product/product-3/?tab=additional_information

下面是功能代码:

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+测试和工程


可能是你可以自动完成,而不是打开一个产品标签是什么,就是在1档自动将该标签低谷重新排序$_GET方法(在url中添加一个变量)。

在URL中的通话将需要像:WEBSITE/product/product-3/?tab=additional_information

您将能够在woocommerce_product_tabs过滤钩子钩住的自定义功能做到这一点:

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+测试和工程

+0

感谢您的答复卢瓦克,但我不希望移动/更换标签的位置。 – Alice

+0

@Alice好的这一次,我得到了它的工作,有一点javascript/jQuery ...请检查它。谢谢 – LoicTheAztec

+1

谢谢,它像一个魅力:) – Alice

相关问题