我合并了描述和附加信息选项卡。其他信息内容显示在“说明”选项卡中。
它工作正常,但来自其他信息的内容显示在描述内容的上方。我不明白为什么。。。
add_filter( \'the_content\', \'customizing_woocommerce_description\' );
function customizing_woocommerce_description( $content ) {
// get attributes
global $product;
$attributes = do_action( \'woocommerce_product_additional_information\', $product );
// Only for single product pages (woocommerce)
if ( is_product() ) {
// The custom content
$custom_content = $attributes;
// Inserting the custom content at the end
$content .= $custom_content;
}
return $content;
}
// Manipulating product tabs
add_filter(\'woocommerce_product_tabs\', \'change_product_tab\', 98);
function change_product_tab($tabs){
global $product;
// Remove tabs
unset($tabs[\'additional_information\']);
return $tabs;
}
最合适的回答,由SO网友:Sally CJ 整理而成
附加信息的内容显示在描述内容的上方
因为下面的代码调用wc_display_product_attributes()
显示“附加信息”选项卡的默认内容:
do_action( \'woocommerce_product_additional_information\', $product );
要修复它,可以打开输出缓冲,运行
do_action()
然后使用
ob_get_clean()
:
function customizing_woocommerce_description( $content ) {
// get attributes
global $product;
// Only for single product pages (woocommerce)
if ( is_product() ) {
// The custom content
ob_start();
do_action( \'woocommerce_product_additional_information\', $product );
$custom_content = ob_get_clean();
// Inserting the custom content at the end
$content .= $custom_content;
}
return $content;
}