问题
I want to display the Brand attribute from the Additional Info on the product page. Is there a way to create a shortcode because i have a specific location to display it or even in php.
This is for woocommerce 3.6.5
Thank you in advance
回答1:
You can add the follows code snippet in your active theme's functions.php to do the above -
// to display product additional info in product page
add_action( 'woocommerce_single_product_summary', 'show_additional_info_product_summary', 45 );
// To diplay additonal info via shortcode within product page
add_shortcode( 'show_additional_info', 'show_additional_info_product_summary' );
function show_additional_info_product_summary() {
global $product;
// Assume that your attribute is pa_brand
$brand_attributes = $product->get_attribute('brand');
?>
<table class="woocommerce-product-attributes shop_attributes">
<tr class="woocommerce-product-attributes-item woocommerce-product-attributes-item--brand">
<th class="woocommerce-product-attributes-item__label"><?php echo ucfirst( 'brand' ); ?></th>
<td class="woocommerce-product-attributes-item__value"><?php echo $brand_attributes; ?></td>
</tr>
</table>
<?php
}
// to remove additional info tab
add_filter( 'woocommerce_product_tabs', 'remove_additional_info_tab', 99 );
function remove_additional_info_tab( $tab ) {
if( isset( $tab['additional_information'] ) ) unset( $tab['additional_information'] );
return $tab;
}
来源:https://stackoverflow.com/questions/58087860/display-product-attribute-and-taxonomy-in-woocommerce-product-page