WooCommerceの製品説明と説明を最後に表示する追加情報タブをマージします
Aug 19 2020
このトピックに関する追加情報をお聞きしたいのですが、WooCommerceの[説明]タブと[追加情報]タブを統合するにはどうすればよいですか?
私の唯一の問題は、最初に追加情報を表示したいということです。これはスクリーンショットです:https://i.stack.imgur.com/UTIbf.png サイトへのリンクは次のとおりです。 https://adisport.hu/termek/adidas-xz-torsion/
これは私がfunction.phpで使用したコードです:
// Remove Additional Info tab
add_filter('woocommerce_product_tabs', 'remove_tab_additional_info', 30);
function remove_tab_additional_info($tabs){ unset( $tabs['additional_information'] );
return $tabs; } // Add original Additional Info tab info to the end of the_content add_filter('the_content','add_details_to_content', 10, 1); function add_details_to_content($content){
if ( is_product() ){
global $product; $content = '<div class="product-description">'.$content.'</div>'; ob_start(); ?><div class="product-additional-info"><?php $heading = apply_filters( 'woocommerce_product_additional_information_heading', __( 'Additional information', 'woocommerce' ) );
if ( !empty($heading) ) { ?> <h3><?php echo esc_html( $heading ); ?></h3>
<?php }
do_action( 'woocommerce_product_additional_information', $product ); ?></div><?php $content .= ob_get_clean();
}
return $content;
}
回答
LoicTheAztec Aug 19 2020 at 00:12
次のことを試してください。
// Remove Additional Info tab
add_filter( 'woocommerce_product_tabs', 'remove_tab_additional_info', 30 );
function remove_tab_additional_info( $tabs ){ unset( $tabs['additional_information'] );
return $tabs; } add_filter( 'the_content', 'add_additional_info_before_content' ); function add_additional_info_before_content( $content ){
if ( is_product() ){
global $product; ob_start(); echo '<div class="product-additional-info">'; $hook = 'woocommerce_product_additional_information_heading';
$heading = apply_filters( $hook, __( 'Additional information', 'woocommerce' ) );
if ( !empty($heading) ) { echo '<h3>' . esc_html( $heading ) . '</h3>';
}
do_action( 'woocommerce_product_additional_information', $product ); echo '</div>'; $content = ob_get_clean() . '<div class="product-description">' . $content . '</div>'; } return $content;
}
テストされ、動作します。
関連:WooCommerceの製品説明にカスタムコンテンツを追加する