Сортировка товаров по наличию в Woocommerce
Столкнулся с такой проблемой. Woocommerce не сортирует товары у которого стоит статус "в наличии" или "нет в наличии". Он только сортирует по остаткам на складе. Поэтому вышел из положения так. На странице вывел все товары и те у кого статус "нет в наличии" скриптом перекинул вниз.
add_action( 'wp_footer', function () { ?>
<?php if (is_woocommerce() && is_product_category()) : ?>
<script>
jQuery(document).ready(function() {
jQuery('.outofstock').each(function(index, item) {
var $this = jQuery(item);
$this.appendTo($this.parent());
});
});
</script>
<?php endif; ?>
<?php } );
Если заменить на $this.prependTo($this.parent()); то все товары не в наличии попадут наверх.
Прилепающие сообщения в Oxygen
Этот же скрипт помог в случае когда нужно было "прилипающие" сообщения вывести наверх списка. Для этого в шаблоне вывода постов Oxygen я добавил в класс следующий код
<div class='oxy-post <?php if (in_array( get_the_ID(), get_option( 'sticky_posts' ) )) {echo "sticky";} ?>'>
А в сниппете подключил скрипт, который посты с классом sticky перекидывает наверх:
add_action( 'wp_footer', function () { ?>
<script>
jQuery(document).ready(function() {
jQuery('.sticky').each(function(index, item) {
var $this = jQuery(item);
$this.prependTo($this.parent());
});
});
</script>
<?php } );