Отображать атрибут товара, только когда товар есть в наличии в Woocommerce - PullRequest
0 голосов
/ 27 августа 2018

Я установил атрибут Woocommerce для времени доставки и отображаю его на странице отдельного продукта с помощью:

//Single Product
function product_attribute_delivery(){
    global $product;

    $taxonomy = 'pa_delivery';
    $value = $product->get_attribute( $taxonomy );

    if ( $value ) {
    $label = get_taxonomy( $taxonomy )->labels->singular_name;
    echo '<p>' . $label . ': ' . $value . '</p>';
    }
}

add_action( 'woocommerce_single_product_summary',  'product_attribute_delivery', 25 );

Можно ли будет отображать его только при наличии товара на складе?

1 Ответ

0 голосов
/ 27 августа 2018

Возможно использование WC_Product is_in_stock() метод:

add_action( 'woocommerce_single_product_summary', 'product_attribute_delivery', 25 );
function product_attribute_delivery(){
    global $product;

    $taxonomy = 'pa_delivery';
    $value = $product->get_attribute( $taxonomy );

    if ( $value && $product->is_in_stock() ) {
        $label = get_taxonomy( $taxonomy )->labels->singular_name;
        echo '<p>' . $label . ': ' . $value . '</p>';
    }
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Протестировано и работает

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