• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Товары нет в наличии

Здравствуйте! Столкнулся с проблемой. Раньше у меня стояли скрипты, которые опускали товары "Нет в наличии" в конец каталога. После последнего обновления Вуу, товары в каталоге все равно стали появляться в любом месте каталога. Перепробовал все скрипты, которые есть в инете, но они все старые. Есть новое решение вопроса?
 

marr

Специалист
Местный
Раньше у меня стояли скрипты, которые опускали товары "Нет в наличии" в конец каталога. После последнего обновления Вуу, товары в каталоге все равно стали появляться в любом месте каталога. Перепробовал все скрипты, которые есть в инете, но они все старые. Есть новое решение вопроса?

Вообще-то для этого есть штатный функционал menu_order
 
Вообще-то для этого есть штатный функционал menu_order
Расскажите, пожалуйста, подробнее. Может, что-то упустил. Мне нужно, чтобы товары "нет в наличии" были в самом низу атрибутов/меток и прочего (на каталог нашел решение) и не появлялись в "сопутствующих/похожих"
 

marr

Специалист
Местный
чтобы товары "нет в наличии" были в самом низу атрибутов/меток и прочего (на каталог нашел решение) и не появлялись в "сопутствующих/похожих"
Если у вас есть рабочее решение для каталога, то допишите в него условия для других архивов
 
class iWC_Orderby_Stock_Status {
public function __construct() {
if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) {
add_filter('posts_clauses', array($this, 'order_by_stock_status'), 2000);
}
}
public function order_by_stock_status($posts_clauses) {
global $wpdb;
/*if (is_woocommerce() && (is_shop() || is_product_category() || is_product_tag())) {*/
if (is_woocommerce() && (is_shop() || is_product_taxonomy())) {
$posts_clauses['join'] .= " INNER JOIN $wpdb->postmeta istockstatus ON ($wpdb->posts.ID = istockstatus.post_id) ";
$posts_clauses['orderby'] = " istockstatus.meta_value ASC, " . $posts_clauses['orderby'];
$posts_clauses['where'] = " AND istockstatus.meta_key = '_stock_status' AND istockstatus.meta_value <> '' " . $posts_clauses['where'];
}
return $posts_clauses;
}
}
new iWC_Orderby_Stock_Status;

Как работало раньше, так и работает сейчас
 
Сверху Снизу