как получить название вариации используя функцию WordPress - PullRequest
0 голосов
/ 06 октября 2018

Я создам выпадающий список, используя опции, могут быть отображены varaiation_id и Вариация_титла, мне нужно получить некоторые другие детали вариации, такие как вариация_is_active, вариация_is_visible и т. Д., Но я не получаю название варианта, пожалуйста, дайте мне ответ, здесь покажите код

do_action( 'woocommerce_before_cart_contents' ); 
global $product;
$product = wc_get_product( $product_id );
$variations =$product->get_available_variations();
foreach($product->get_variation_attributes() as $ind=>$val)
{
echo  $ind;

}
?>
$field_name = isset($field_name) ? $field_name :'';
$calendar_id = isset($calendar_id) ? $calendar_id : 0;
if ( $field_name ):?>
<select data-calendar-id="<?php echo $calendar_id ?>" name="<?php echo 
esc_attr($field_name); ?>" >
<?php else: ?>
    <?php endif ?>
<?php foreach ($variations as $variation_id => $variation_data): ?>

    <option value="<?php echo $variation_data['variation_id'] ?>" ><?php 
    echo str_replace('-', '',substr($variation_data['variation_title'],15)) ?> 
    </option>

<?php endforeach ?>
</select>

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Вам нужно использовать WC_Product_Variation_Class https://docs.woocommerce.com/wc-apidocs/class-WC_Product_Variation.html

Тогда вы можете использовать;

$product->get_title( )

Get the product's title. For variations this is the parent product name.
0 голосов
/ 06 октября 2018

Продукт вариации не имеет собственного названия, они используют родительское название.

если вы хотите получить название родительского продукта, вы можете использовать get_the_title() или добавитьнекоторый HTML-код для заголовка, который вы можете использовать the_title(); внутри цикла.

для получения дополнительной информации об этих двух функциях проверьте следующие ссылки:

Ссылка get_the_title

Ссылка на название

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