Woocommerce 基础设定与相关函数代码
获取顾客总消费金额
这段代码定义了一个名为gk_get_customer_total_spent()
的函数,用于获取当前登录用户在WooCommerce商店中的总消费金额。
//获取顾客总消费金额
function gk_get_customer_total_spent() {
// 检查用户是否已登录
if (!is_user_logged_in()) {
return 0; // 如果未登录,返回0
}
// 获取当前用户ID
$user_id = get_current_user_id();
// 获取用户总消费金额
$total_spent = wc_get_customer_total_spent($user_id);
return $total_spent; // 返回总消费金额
}
获取顾客订单总数
这段代码定义了一个名为gk_get_customer_total_orders()
的函数,用于获取当前登录用户在WooCommerce商店中的订单总数。
//获取顾客订单总数
function gk_get_customer_total_orders() {
// 检查用户是否已登录
if (!is_user_logged_in()) {
return 0; // 如果未登录,返回0
}
// 获取当前用户ID
$user_id = get_current_user_id();
// 获取用户订单总数
$order_count = wc_get_customer_order_count($user_id);
return $order_count; // 返回订单总数
}
获取商品折扣率
此函数用于计算并返回商品的折扣百分比。支持简单商品(Simple)和可变商品(Variable),并自动选择最大折扣值(针对可变商品的不同变体)。
//计算产品折扣百分比
function gk_discount_percentage() {
global $product;
// 检查产品对象是否存在
if (!$product) {
return '';
}
// 提前检查是否在促销中
if (!$product->is_on_sale()) {
return '';
}
$discount = 0;
//Simple Product 简单商品
if ($product->is_type('simple')) {
$regular_price = $product->get_regular_price();
$sale_price = $product->get_sale_price();
if ($regular_price > 0 && $sale_price) {
$discount = ($regular_price - $sale_price) / $regular_price * 100;
}
}
//Variable Product 可变商品
elseif ($product->is_type('variable')) {
$variation_prices = $product->get_variation_prices();
if (!empty($variation_prices['regular_price']) && !empty($variation_prices['sale_price'])) {
$max_discount = 0;
foreach ($variation_prices['regular_price'] as $variation_id => $regular_price) {
$sale_price = $variation_prices['sale_price'][$variation_id];
if ($regular_price > 0 && $sale_price) {
$current_discount = ($regular_price - $sale_price) / $regular_price * 100;
$max_discount = max($max_discount, $current_discount);
}
}
$discount = $max_discount;
}
}
if ($discount > 0) {
return round($discount);
}
return '';
}