WooCommerce - отображение размеров для всех вариантов в таблице - PullRequest
0 голосов
/ 26 марта 2019

Мне нужно отобразить размеры всех вариантов продукта в таблице на странице продукта.

Мне удалось получить большую часть работы, но у меня есть несколько проблем:

Я использую $ 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: FORD

с использованием _name возврат: CAR SMALL FORD

Я только хочу отобразить 2-й атрибут «МАЛЕНЬКИЙ»

Как я могу настроить таргетинг только на этот атрибут, используя _name?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...