丝袜av在线观看|日本美女三级片在线播放|性欧美一区二区三区|小骚热免费国产视频|黑人va在线观看|女同国产91视频|五月丁香色播Av|国产凸凹视频一区二区|伊人电影久久99|国产成人无码一区二区观看

WordPress支付金幣代碼實現(xiàn)指南

來自:素雅營銷研究院

頭像 方知筆記
2025年06月30日 08:42

在WordPress網(wǎng)站中實現(xiàn)金幣支付功能是許多內(nèi)容付費、游戲化學(xué)習(xí)或虛擬商品交易平臺的核心需求。本文將詳細(xì)介紹如何在WordPress中實現(xiàn)支付金幣的代碼方案。

一、準(zhǔn)備工作

  1. 安裝必要插件
  • WooCommerce(電子商務(wù)功能)
  • myCred(虛擬貨幣管理)
  • Paid Memberships Pro(會員訂閱管理,可選)
  1. 創(chuàng)建金幣系統(tǒng): 在myCred插件中設(shè)置您的虛擬貨幣名稱(如”金幣”)、兌換比率和初始分配規(guī)則。

二、基礎(chǔ)支付代碼實現(xiàn)

1. 短代碼方式

function gold_coin_payment_shortcode($atts) {
$atts = shortcode_atts(array(
'amount' => 100,
'price' => 10,
'product_id' => ''
), $atts);

ob_start();
?>
<div class="gold-payment-box">
<h3>購買金幣</h3>
<p>購買數(shù)量: <?php echo $atts['amount']; ?> 金幣</p>
<p>價格: ¥<?php echo $atts['price']; ?></p>
<button class="buy-gold-btn"
data-amount="<?php echo $atts['amount']; ?>"
data-price="<?php echo $atts['price']; ?>"
data-product="<?php echo $atts['product_id']; ?>">
立即購買
</button>
</div>
<?php
return ob_get_clean();
}
add_shortcode('gold_payment', 'gold_coin_payment_shortcode');

2. AJAX處理支付

// 前端AJAX調(diào)用
add_action('wp_footer', 'gold_payment_scripts');
function gold_payment_scripts() {
?>
<script>
jQuery(document).ready(function($) {
$('.buy-gold-btn').click(function() {
var amount = $(this).data('amount');
var price = $(this).data('price');
var product = $(this).data('product');

$.ajax({
url: ajaxurl,
type: 'POST',
data: {
action: 'process_gold_payment',
amount: amount,
price: price,
product_id: product,
security: '<?php echo wp_create_nonce("gold-payment-nonce"); ?>'
},
success: function(response) {
if(response.success) {
alert('購買成功!您已獲得' + amount + '金幣');
// 更新用戶金幣顯示
} else {
alert('購買失敗: ' + response.data);
}
}
});
});
});
</script>
<?php
}

// 后端處理
add_action('wp_ajax_process_gold_payment', 'handle_gold_payment');
add_action('wp_ajax_nopriv_process_gold_payment', 'handle_gold_payment');
function handle_gold_payment() {
check_ajax_referer('gold-payment-nonce', 'security');

$user_id = get_current_user_id();
if(!$user_id) {
wp_send_json_error('請先登錄');
}

$amount = intval($_POST['amount']);
$price = floatval($_POST['price']);
$product_id = intval($_POST['product_id']);

// 創(chuàng)建WooCommerce訂單
$order = wc_create_order();
$order->add_product(wc_get_product($product_id), 1);
$order->set_customer_id($user_id);
$order->calculate_totals();
$order->update_status('pending', '等待支付', true);

// 返回支付鏈接
wp_send_json_success(array(
'payment_url' => $order->get_checkout_payment_url()
));
}

三、與myCred集成

支付成功后,需要將金幣添加到用戶賬戶:

// 支付成功鉤子
add_action('woocommerce_payment_complete', 'add_gold_coins_after_payment');
function add_gold_coins_after_payment($order_id) {
$order = wc_get_order($order_id);
$user_id = $order->get_customer_id();

// 獲取訂單中的金幣數(shù)量(需要存儲在訂單元數(shù)據(jù)中)
$gold_amount = get_post_meta($order_id, '_gold_amount', true);

if($gold_amount && $user_id) {
// 使用myCred添加金幣
mycred_add('gold_purchase', $user_id, $gold_amount, '購買金幣 #' . $order_id);

// 可選的郵件通知
wp_mail(
$order->get_billing_email(),
'金幣購買成功',
'您已成功購買' . $gold_amount . '金幣。當(dāng)前余額: ' . mycred_get_users_balance($user_id)
);
}
}

四、進階功能實現(xiàn)

1. 金幣消費功能

function spend_gold_coins($user_id, $amount, $reason = '') {
if(mycred_get_users_balance($user_id) < $amount) {
return new WP_Error('insufficient_funds', '金幣不足');
}

$result = mycred_subtract('gold_spending', $user_id, $amount, $reason);

if($result) {
do_action('gold_coins_spent', $user_id, $amount, $reason);
return true;
}

return false;
}

2. 金幣兌換優(yōu)惠券

add_shortcode('gold_to_coupon', 'gold_to_coupon_shortcode');
function gold_to_coupon_shortcode() {
ob_start();
?>
<div class="gold-exchange">
<select id="gold-amount">
<option value="100">100金幣兌換¥10優(yōu)惠券</option>
<option value="200">200金幣兌換¥25優(yōu)惠券</option>
</select>
<button id="exchange-gold">兌換</button>
</div>

<script>
jQuery(document).ready(function($) {
$('#exchange-gold').click(function() {
var amount = $('#gold-amount').val();

$.ajax({
url: ajaxurl,
type: 'POST',
data: {
action: 'exchange_gold_to_coupon',
amount: amount,
security: '<?php echo wp_create_nonce("gold-exchange-nonce"); ?>'
},
success: function(response) {
if(response.success) {
alert('兌換成功!優(yōu)惠碼: ' + response.data.coupon_code);
} else {
alert('兌換失敗: ' + response.data);
}
}
});
});
});
</script>
<?php
return ob_get_clean();
}

五、安全注意事項

  1. 始終使用nonce驗證防止CSRF攻擊
  2. 所有金額數(shù)據(jù)在存儲前進行驗證和清理
  3. 關(guān)鍵操作記錄日志
  4. 考慮添加每日購買限額
  5. 定期備份金幣交易記錄

六、性能優(yōu)化建議

  1. 對頻繁查詢的金幣余額使用緩存
  2. 批量處理大量金幣交易時使用事務(wù)
  3. 考慮使用自定義數(shù)據(jù)庫表存儲交易記錄
  4. 實現(xiàn)金幣變化的WebSocket實時通知

通過上述代碼實現(xiàn),您可以在WordPress中構(gòu)建一個完整的金幣支付系統(tǒng),滿足內(nèi)容付費、虛擬商品交易等多種應(yīng)用場景的需求。根據(jù)您的具體業(yè)務(wù)需求,可以進一步擴展或修改這些代碼。