Отображать новый значок Woocommerce, если в новой категории - PullRequest
0 голосов
/ 22 февраля 2019

Мне нужно отобразить «новый» значок для продукта на странице архива, но только для продуктов в категории «Новые»

add_action( 'woocommerce_after_shop_loop_item_title', 'lottie_new_badge', 40 );

function lottie_new_badge($badge) {
global $product;

if (has_term ('new')) {
    echo '<p>New</p>';
}
return $badge;
}

Получил этот код, но не работал, смешал несколько битов кода вместепопытаться заставить его работать, но не повезло.

1 Ответ

0 голосов
/ 22 февраля 2019

При использовании функции has_term() в категории продуктов Woocommerce отсутствуют аргументы.Кроме того, поскольку вы используете ловушку действия, $badge не требуется и не должна возвращаться, как в ловушке фильтра.Вместо этого попробуйте следующее:

add_action( 'woocommerce_after_shop_loop_item_title', 'display_lottie_new_badge', 40 );
function display_lottie_new_badge() {
    global $product;

    if ( has_term ( array('new'), 'product_cat', $product->get_id() ) ) {
        echo '<p class="new">New</p>';
    }
}

Код находится в файле function.php вашей активной дочерней темы (или активной темы).Должно работать.

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