从第三方插件调用Woocommerce wc_customer_bought_product方法

时间:2017-10-23 13:03:07

标签: php wordpress woocommerce product user-data

在WooCommerce中我使用Boss Learndash插件并在此插件plugins/boss-learndash/templates/learndash/single-sfwd-course.php的模板文件中,我试图再次向已购买课程/产品的用户添加按钮。为此,我试图在模板中调用wc_customer_bought_product woocommerce函数,但似乎无法调用该函数。

我尝试添加global $woocommerce;并尝试wc->user->wc_customer_bought_product但无法修复。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

wc_customer_bought_product()函数不是任何WooCommerce类的方法。它只是一个带有3个参数$customer_email$user_id$product_id的条件函数:

wc_customer_bought_product( $customer_email, $user_id, $product_id );

它将返回布尔值truefalse,因此您将在 if 语句中将其用作条件函数。

要获取用户ID和客户电子邮件,您可以使用:

// Get the current user data:
$user = wp_get_current_user();
$user_id = $user->ID; // Get the user ID
$customer_email = $user->user_email; // Get the user email
// OR
// $customer_email = get_user_meta( $user->ID, 'billing_email', true ); // Get the user billing email

// The conditional function (example)
// IMPORTANT: $product_id argument need to be defined
if( wc_customer_bought_product( $customer_email, $user_id, $product_id ) ) {
    echo "Has bought the product";
} else {
    echo "Has not bought the product yet";
}