- 1. Kiểm tra người dùng có VIP hay không
- 2. Ví dụ: Tắt AdSense từ Google Site Kit nếu là VIP
- 3. Lấy thời gian hết hạn VIP
- 4. Mở khóa giao diện hoặc tính năng nếu là VIP
- 5. Tặng thêm ngày VIP cho người dùng
- 6. Lấy lịch sử mua VIP
- 7. Mua VIP qua REST API
- 8. Hook khi người dùng mua VIP
- 9. Hiển thị giao diện riêng cho người dùng VIP (HTML/CSS)
- 10. Nhắc gia hạn khi VIP sắp hết hạn
- 11. Upsell cho người dùng từng mua VIP nhưng đã hết hạn
- Kết luận
1. Kiểm tra người dùng có VIP hay không
Dùng hàm sau để xác định người dùng hiện tại (hoặc bất kỳ user nào) có VIP đang hoạt động không:
// Kiểm tra người dùng hiện tại
if ( init_plugin_suite_user_engine_is_vip() ) {
// Người dùng là VIP
}
// Kiểm tra theo ID cụ thể
if ( init_plugin_suite_user_engine_is_vip( $user_id ) ) {
// Người dùng $user_id là VIP
}
2. Ví dụ: Tắt AdSense từ Google Site Kit nếu là VIP
function disable_adsense_sitekit_for_vip() {
if ( init_plugin_suite_user_engine_is_vip() ) {
add_filter( 'googlesitekit_adsense_tag_blocked', '__return_true' );
}
}
add_action( 'init', 'disable_adsense_sitekit_for_vip' );
3. Lấy thời gian hết hạn VIP
$expiry = init_plugin_suite_user_engine_get_vip_expiry();
echo wp_date( 'Y-m-d H:i', $expiry );
Thường dùng để hiển thị cho người dùng biết khi nào hết hạn VIP.
4. Mở khóa giao diện hoặc tính năng nếu là VIP
if ( init_plugin_suite_user_engine_is_vip() ) {
// Hiển thị giao diện hoặc tính năng nâng cao
}
5. Tặng thêm ngày VIP cho người dùng
Có thể dùng cho khuyến mãi, quà tặng hoặc phần thưởng:
init_plugin_suite_user_engine_add_vip_days( $user_id, 30 ); // Tặng 30 ngày VIP
6. Lấy lịch sử mua VIP
$log = init_plugin_suite_user_engine_get_vip_log( $user_id );
foreach ( $log as $entry ) {
echo 'Gói: ' . $entry['package'] . ' ngày – Giá: ' . $entry['coin'] . ' coin – Vào: ' . wp_date( 'Y-m-d', $entry['time'] ) . '<br>';
}
7. Mua VIP qua REST API
Endpoint: /wp-json/inituser/v1/vip/purchase (phương thức POST)
Body JSON:
{
"package_id": 2
}
Các gói mặc định:
- 1 – 7 ngày
- 2 – 30 ngày
- 3 – 90 ngày
- 4 – 180 ngày
- 5 – 360 ngày
- 6 – Trọn đời (9999 ngày)
8. Hook khi người dùng mua VIP
Dùng để gửi thông báo, log hoặc hiệu ứng đặc biệt:
add_action( 'init_plugin_suite_user_engine_vip_purchased', function( $user_id, $package_id, $data ) {
// $data['days'], $data['coin'], $data['new_expiry']
});
9. Hiển thị giao diện riêng cho người dùng VIP (HTML/CSS)
Plugin tự động thêm class iue-vip vào thẻ <body> nếu người dùng đang có VIP hợp lệ.
Điều này cho phép bạn kiểm soát giao diện chỉ bằng CSS, không cần PHP hoặc JavaScript.
body.iue-vip .vip-only {
display: block;
}
body:not(.iue-vip) .vip-only {
display: none;
}
Thích hợp cho các trường hợp chỉ chèn được HTML/CSS (page builder, block editor, landing page).
10. Nhắc gia hạn khi VIP sắp hết hạn
Khi VIP của người dùng sắp hết hạn (mặc định ≤ 1 ngày), plugin sẽ thêm class iue-expire-soon vào <body>. Bạn có thể dùng class này để hiển thị banner nhắc gia hạn hoặc ưu đãi đặc biệt.
body.iue-expire-soon .vip-renew-notice {
display: block;
}
body:not(.iue-expire-soon) .vip-renew-notice {
display: none;
}
Ngưỡng “sắp hết hạn” có thể được tùy chỉnh thông qua filter dành cho developer.
11. Upsell cho người dùng từng mua VIP nhưng đã hết hạn
Nếu người dùng từng mua VIP nhưng hiện tại đã hết hạn, plugin sẽ thêm class iue-vip-expired vào <body>. Đây là tín hiệu lý tưởng để hiển thị các nội dung upsell hoặc kêu gọi quay lại.
body.iue-vip-expired .vip-upsell {
display: block;
}
Cách này đặc biệt hiệu quả cho marketing vì:
- Không cần kiểm tra logic PHP.
- Không ảnh hưởng hiệu năng.
- Hoạt động tốt với HTML tĩnh và CSS thuần.
Kết luận
Hệ thống VIP trong Init User Engine không chỉ là một tính năng nâng cao, mà còn là công cụ mạnh để bạn xây dựng trải nghiệm cá nhân hóa cho người dùng. Bằng cách sử dụng các hàm và hook sẵn có, bạn có thể dễ dàng tích hợp VIP vào bất kỳ logic nào trong theme hoặc plugin.
Bình luận