1
到目前爲止,我一直在使用下面的代碼,直到我把變化對特定產品已經很好地工作:wp電子商務 - 如何判斷用戶是否購買過產品?
<?php if (is_user_logged_in()) if (wpsc_has_purchases()) if (wpsc_bought_product(wpsc_the_product_id())) $bought_product = true; else $bought_product = false; ?>
稍後在代碼中,我會ussed的bought_product變量,看是否產品已被購買,所以我可以打印一條特殊消息。
我的問題:由於對許多產品的變化,此代碼不再工作,它只適用於沒有變化的產品......我做錯了什麼? (順便說一句,如果你想使用WP電子商務,不 - 這是垃圾)
下面是wpsc_bought_product代碼:
function wpsc_bought_product($prodid) {
global $wpdb, $user_ID, $wpsc_purchlog_statuses, $gateway_checkout_form_fields, $purchase_log, $col_count;
do_action('wpsc_pre_purchase_logs');
foreach ((array)$purchase_log as $purchase) {
// 2 = order received, 3 = accepted payment
if ($purchase['processed'] == 2) {
$cartsql = $wpdb->prepare("SELECT * FROM `" . WPSC_TABLE_CART_CONTENTS . "` WHERE `purchaseid`= %d", $purchase['id']);
$cart_log = $wpdb->get_results($cartsql, ARRAY_A);
if ($cart_log != null) {
foreach ((array)$cart_log as $cart_row) {
//if product is in the order
if ($prodid == $cart_row['prodid'])
return true;
}
}
}
}
return false;
}
通過觀察數據庫,我看到有產品的每種變體都有一個不同的ID,所以這就是爲什麼它沒有註冊爲被購買。那麼,我該如何判斷是否購買了任何變化?