如何删除woocommerce选项卡?

时间:2015-06-12 20:48:17

标签: php wordpress wordpress-plugin woocommerce wordpress-theming

我们的woocommerce商店中的产品不需要任何默认标签,所以我设法禁用它们,因为我只需要在产品下面有产品描述,但我想保留实际描述,我相信标签本身是多余的,因为没有任何其他标签。

基本上,我想删除标签&完全标题但保留其下方的内容框而不修改woocommerce核心php模板文件。有没有办法为我的WordPress主题的functions.php添加一个过滤器?

function woocommerce_default_product_tabs( $tabs = array() ) {
    global $product, $post;

    // Description tab - shows product content
    if ( $post->post_content ) {
        $tabs['description'] = array(
            'title'    => __( 'Description', 'woocommerce' ),
            'priority' => 10,
            'callback' => 'woocommerce_product_description_tab'
        );
    }

7 个答案:

答案 0 :(得分:6)

虽然CSS很棒,但如果样式表没有正确加载,你最终可能会显示某个没有意义的标签。如前所述,最好在加载(服务器端)之前使用过滤器删除内容。

请参阅Woothemes提供的以下代码,以取消设置数据标签 EDIT 放在主题内的functions.php文件中。

add_filter( 'woocommerce_product_tabs', 'woo_remove_product_tabs', 98 );

function woo_remove_product_tabs( $tabs ) {
    unset( $tabs['description'] );          // Remove the description tab
    unset( $tabs['reviews'] );          // Remove the reviews tab
    unset( $tabs['additional_information'] );   // Remove the additional information tab
    return $tabs;
}

答案 1 :(得分:0)

如果您要从woo-commerce产品详细信息页面中删除标签,请在 function.php

中添加此代码

选项1 -

转到functions.php并添加以下代码。    (转到管理面板>外观>编辑器> functions.php)

add_filter( 'woocommerce_product_tabs', 'woo_remove_tabs', 98 );
function woo_remove_tabs( $tabs ){
    if(is_product()){
      unset( $tabs['description'] ); // Remove the description tab
      unset( $tabs['reviews'] ); // Remove the reviews tab
      unset( $tabs['additional_information'] ); // Remove the additional information tab
      }
  return $tabs;
 }

通过使用此过滤器,我们可以从Woocommerce产品页面中删除标签。

选项2 -

或者,对于替代方法,只需将其添加到 functions.php

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

选项3 -

通过将此选项添加到woocommerce.css

的底部来隐藏该标签
 .woocommerce_tabs .tabs {
    display: none;
}
  

了解详情 - Woo-commerce: Remove tab from product page

答案 2 :(得分:0)

以下是工作代码:

add_filter( 'woocommerce_product_tabs', 'wcs_woo_remove_reviews_tab', 98 );
function wcs_woo_remove_reviews_tab($tabs) {
unset($tabs['reviews']);
return $tabs;
}

答案 3 :(得分:0)

对不起,问题不仅是删除标签,还保留产品说明。如果你曾尝试过上面的代码,你就会意识到在删除标签时你实际上正在删除产品描述。这不是理想的情况。

您应该在某处添加以下代码以将其添加回来。但不幸的是,这次你可以将图片并排添加到图片中并制作一个窄列。我找不到解决方案,以便在之前存在选项卡的图片下方添加它。 代码:

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

add_action( 'woocommerce_single_product_summary',  woocommerce_template_product_description', 40 );

答案 4 :(得分:0)

由于某种原因,添加到functions.php文件的代码对我来说不起作用,即使它是在woo commerce codex中。

我收到很多评论垃圾邮件给这些显示评论的产品。

最后,我使用内置的wordpress / woocommerce功能从所有产品中手动删除了评论标签。

  1. 转到产品升级页面
  2. 点击复选框以选择所有产品(它只会选择此页面上的产品,因此您可能需要通过多个页面重复)
  3. 从批量操作下拉菜单中选择编辑
  4. 点击申请
  5. 您现在可以看到可以执行的所有批量修改操作。选择“评论”下拉列表,然后选择“不允许”
  6. 点击更新
  7. 确保在使用缓存插件时删除任何缓存
  8. removing comments or reviews from woo commerce products

答案 5 :(得分:0)

html2canvas(input)  
          .then((canvas) => {  
            var imgWidth = 350;  
            var imgHeight = canvas.height * imgWidth / canvas.width;  
            const imgData = canvas.toDataURL('image/png', 1.0);  
            const pdf = new jsPDF('l', 'mm', 'a4')  
            
            pdf.addImage(imgData, 'JPEG', -25 , 5,imgWidth , imgHeight);  

            pdf.save("download.pdf");  
          });  

这项工作对我来说就是我在这里所做的贡献。除了删除标签并放回文本。

Swapnali和Mustafa的信用额

答案 6 :(得分:0)

结合使用上述答案,将函数嵌套在操作中,以便您可以在条件中使用:

add_action( 'wp', 'custom_remove_tabs_by_tag' );
function custom_remove_tabs_by_tag() {
if ( is_product() && has_term( 'tag-term', 'product_tag' ) ) 
{    
    // Remove All Product Tabs
    remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 );
    // Add Product Description
    add_action( 'woocommerce_after_single_product_summary',
                 function () { woocommerce_get_template( 'single-product/tabs/description.php' );}, 
                 40 );
}