MENU

Wordpress Zibll主题 增加搜索扣积分

August 13, 2024 • Read: 58 • Wordpress

/**
 * 当用户进行搜索时扣除积分(如果用户积分充足)。
 */
function zib_deduct_points_on_search($query) {
    if (!is_admin() && $query->is_search && _pz('points_s')) {
        $user_id = get_current_user_id();
        $points_needed = 30;
        $user_points = zibpay_get_user_points($user_id);

        if (!$user_id) {
            get_header();
            echo '<div class="zib-widget full-widget-sm flex jc" style="min-height:60vh;">';
            echo zib_get_user_singin_page_box('box-body flex1', 'Hi!请先登录后再进行搜索');
            echo '</div>';
            get_footer();
            exit();
        }
        // 检查用户是否有足够的积分
        if ($user_points >= $points_needed) {
            $data = array(
                'order_num' => '', // 可能需要记录订单号或某些标识符
                'value'     => -$points_needed, // 扣除30积分
                'type'      => '资源搜索', // 根据你的积分使用类型调整
                'desc'      => '在本站搜索资源时将会扣除' . $points_needed . '积分', // 积分扣除的说明
            );
            zibpay_update_user_points($user_id, $data);
            // 继续执行搜索查询
            return $query;
        } else {
            get_header();
            echo '<div class="zib-widget full-widget-sm flex jc" style="min-height:60vh;">';
            echo zib_get_null('积分不足,搜索资源需要扣除' . $points_needed . '积分'); // 根据需要处理积分不足的显示或操作
            echo '</div>';
            get_footer();
            exit();
        }
    }
    return $query;
}
add_action('pre_get_posts', 'zib_deduct_points_on_search');


Archives QR Code Tip
QR Code for this page
Tipping QR Code