Woocommerce post_clauses. Отправить товары в черновик
if($posts_clauses['join']!=' LEFT JOIN wp_wc_product_meta_lookup wc_product_meta_lookup ON wp_posts.ID = wc_product_meta_lookup.product_id '){
$posts_clauses['join'] = $posts_clauses['join'] . " LEFT JOIN wp_wc_product_meta_lookup wc_product_meta_lookup ON wp_posts.ID = wc_product_meta_lookup.product_id ";
}
$posts_clauses['orderby'] = "wc_product_meta_lookup.min_price > 50 DESC, " . $posts_clauses['orderby'];
Данный код сортирует товары по цене и выводит в конце те, у которых цена ниже 50. Но как их вообще скрыть со статусом Черновик? Чтобы в будущем их можно было вернуть, изменив статус.
Ответы (2 шт):
Автор решения: Valerii Vasiliev
→ Ссылка
можно добавить дополнительный AND в $posts_clauses['where']
global $wpdb;
$posts_clauses['where'] .= " AND ".$wpdb->prefix."posts.post_status <> 'draft' ";
Автор решения: Рома Хр
→ Ссылка
UPDATE
wp_postmeta
LEFT JOIN wp_posts ON wp_posts.id = wp_postmeta.post_id
SET
post_status = 'draft'
WHERE
wp_posts.post_type = 'product' AND wp_postmeta.meta_key = '_regular_price' AND wp_postmeta.meta_value < 50
Данный запрос написал в phpMyAdmin и проблема решилась