在 Woocommerce 2 周之前通过 _sale_price_dates_to 获取产品 ID,除了 orig_offer_product_id [英] Get products IDs by _sale_price_dates_to except orig_offer_product_id before 2weeks in Woocommerce
本文介绍了在 Woocommerce 2 周之前通过 _sale_price_dates_to 获取产品 ID,除了 orig_offer_product_id的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用 woocommerce 并为 woocommerce 提供报价.我想在没有优惠的情况下获得产品 ID.我准备了代码,但它不起作用:(我在第二个查询中尝试过:SELECT distinct(wp_postmeta.meta_value) ...,但它也不起作用.
I'm using woocommerce and offer for woocommerce. And I want to get the products IDs without offers. I prepared the code but it doesn't work :( I tried in the second query: SELECT distinct(wp_postmeta.meta_value) ..., but it doesn't work, too.
$draftid = $wpdb->get_col('SELECT wp_posts.ID FROM ' . $wpdb->postmeta . ' join ' . $wpdb->posts . ' ON wp_posts.ID = wp_postmeta.post_id
WHERE wp_posts.post_status="draft" and wp_postmeta.meta_key="_sale_price_dates_to" and wp_postmeta.meta_value != "" and wp_postmeta.meta_value<="' . (time()-1296000) . '"
EXCEPT SELECT wp_postmeta.meta_value FROM ' . $wpdb->postmeta . ' join ' . $wpdb->posts . ' ON wp_posts.ID = wp_postmeta.post_id
WHERE wp_postmeta.meta_key="orig_offer_product_id" and wp_postmeta.meta_value !="" and wp_posts.post_type="woocommerce_offer"'); print_r($draftid);
但单独第一个查询有效,第二个也有效.如果我使用 'union' 而不是 'except',它也能工作.
But separately the first query works, and the second too. If I use 'union' instead of 'except', it works too.
知道为什么吗?
推荐答案
在没有任何保证的情况下尝试以下操作:
Try the following without any guaranty:
global $wpdb;
$draft_id = $wpdb->get_col("
SELECT p.ID
FROM {$wpdb->prefix}posts as p
JOIN {$wpdb->prefix}postmeta as pm ON p.ID = pm.post_id
WHERE p.post_status = 'draft'
AND pm.meta_key = '_sale_price_dates_to'
AND pm.meta_value ! = ''
AND pm.meta_value <= " . (time()-1296000) . "
AND p.ID NOT IN (
SELECT p2.ID
FROM {$wpdb->prefix}posts as p2
JOIN {$wpdb->prefix}postmeta as pm2 ON p2.ID = pm2.post_id
AND pm2.meta_key = 'orig_offer_product_id'
AND pm2.meta_value ! = ''
AND p2.post_type = 'woocommerce_offer'
)
");
print_r($draft_id);
我希望它会奏效.
这篇关于在 Woocommerce 2 周之前通过 _sale_price_dates_to 获取产品 ID,除了 orig_offer_product_id的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文