我们的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'
);
}
答案 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;
}
答案 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功能从所有产品中手动删除了评论标签。
答案 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 );
}