Я пытаюсь сделать так, чтобы мой значок .onsale отображался на странице продукта (а не на странице магазина) и отображался только для продуктов, которые продаются. Причина, по которой я пытаюсь клонировать значок .onsale, заключается в том, что я могу применить разные CSS к ним обоим: один для страницы магазина, а другой - для страницы продукта.
Рабочий код для клонирования .onsale:
jQuery( function($) {
$(".onsale").clone().appendTo(".entry-wrap").addClass("onsale2");
});
Моя попытка применить .onsale2 только к товарам, которые есть в продаже:
jQuery( function($) {
if ( $product->is_on_sale() ) {
return $(".onsale").clone().appendTo(".entry-wrap").addClass("onsale2");
}
});
Как заставить его работать?






Попробуйте это в хуке wp_footer следующим образом:
add_action( 'wp_footer', 'add_on_sale_badge' );
function add_on_sale_badge(){
global $product;
// Only on single product pages and on sale products
if ( is_product() && $product->is_on_sale() ):
?>
<script type = "text/javascript">
jQuery(function($){
$(".onsale").clone().appendTo(".entry-wrap").addClass("onsale2");
});
</script>
<?php
endif;
}
Код находится в файле function.php вашей активной дочерней темы (или активной темы). Должно сработать.
@RedecIndustrial «Код находится в файле function.php вашей активной дочерней темы»… Попробуйте и дайте мне знать.
Хорошо, спасибо, мне следует удалить мой текущий код JQuery и поместить этот новый, который вы мне дали, в
function.php?