我需要在产品页面上的表格中显示所有所有产品型号的尺寸。
我已经能够使其中的大多数工作正常,但是有一些问题:
我正在使用$ product_variation-> get_formatted_name()。以显示变体标题,此方法有效,但会提取大量不需要的额外数据。如何格式化数据以显示产品变体的“漂亮名称”?
我用来提取数据的代码如下:
add_action( 'woocommerce_before_add_to_cart_button', 'custom_table_after_single_product' );
function custom_table_after_single_product(){
global $product;
// Only for variable products
if( ! $product->is_type('variable')) return;
$available_variations = $product->get_available_variations();
if( count($available_variations) > 0 ){
$output = '<table>
<thead>
<tr>
<th>'. __( 'Product Dimensions' ) .'</th>
<tr>
<th>'. __( 'Style', 'woocommerce' ) .'</th>
<th>'. __( 'Height', 'woocommerce' ) .'</th>
<th>'. __( 'Width', 'woocommerce' ) .'</th>
<th>'. __( 'Depth', 'woocommerce' ) .'</th>
</tr>
</thead>
<tbody>';
foreach( $available_variations as $variation ){
// Get an instance of the WC_Product_Variation object
$product_variation = wc_get_product($variation['variation_id']);
$sale_price = $product_variation->get_sale_price();
if( empty( $sale_price ) ) $sale_price = __( '<em>(empty)</em>', 'woocommerce' );
$output .= '
<tr>
<td>'. $product_variation->get_formatted_name() .'</td>
<td>'. $product_variation->get_height() .'</td>
<td>'. $product_variation->get_width() .'</td>
<td>'. $product_variation->get_length() .'</td>
</tr>';
}
$output .= '
</tbody>
</table>';
echo $output;
}
}
我现在已切换为使用$product_variation->get_name() .'
这似乎删除了大部分多余的数据。
我认为_name
选择器会提取产品的所有属性名称;
例如;
属性1:汽车属性2:小型属性3:福特
使用_name
返回:CAR SMALL FORD
我只想显示第二个属性“ SMALL”
如何使用_name仅定位该属性?