Добавить к тексту о наличии на складе, о дате доступности в отдельных продуктах Woocommerce - PullRequest
1 голос
/ 17 марта 2019

У меня есть следующий код, который добавляет простое уведомление к одному продукту:

add_action( 'woocommerce_after_add_to_cart_form', 'acf_field_description', 15 );

function acf_field_description() {
    global $product;

    if ( ! $product->is_in_stock() ) {
        echo '<div style="color: red;"><strong>' . __('Product will be available from: ', 'flatsome') . '</strong>' . get_field('date_of_availability') . '</div>';
    } else {
        echo __('Product is available', 'flatsome');
    }
}

Если оператор не работает, но оператор отлично работает.

Что я делаю неправильно?Любая помощь приветствуется.

1 Ответ

1 голос
/ 17 марта 2019

Во-первых, кажется, что вы создали пользовательское поле даты продукта date_of_availability с помощью плагина Advanced Fields (ACF).

WooCommerce уже имеет функцию доступности запасов в продуктахпопробуйте следующий код:

// Change product availability text
add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2);
function filter_product_availability_text( $availability, $product ) {
    $date_of_availability = get_field('date_of_availability');

    if ( ! $product->is_in_stock() && ! empty($date_of_availability) ) {
        $availability .= '<span style="color:#e2401c;"><strong>- (' . __('Available from:', 'flatsome') . ' </strong>' . get_field('date_of_availability') . ')</span>';
    }
    return $availability;
}

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

Изменено Индикация отсутствия на складе, с определенной датой доступности:

enter image description here


По умолчанию WooCommerce отображает наличие на складе:

enter image description here

Наличие: Естьнекоторые связанные настройки в разделе Настройки Woocommerce> Продукты> Инвентарь

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