Quản lý thời gian hoạt động cho Vip Member trong WordPress

Quản lý thời gian hoạt động cho Vip member trong Wordpress không cần dùng đến plugin! dễ dàng sử dụng và tùy biến

Quản lý thời gian hoạt động cho Vip Member trong WordPress
4.7 (94.29%) 14 votes
Quản lý thời gian hoạt động cho Vip Member trong WordPress

Vnkings Mới gặp 1 câu hỏi trong Page WordPress Nâng Cao hỏi cách chỉ cho phép thành viên thuộc nhóm Vip được xem nội dung trong bài viết, ngoài ra còn đặt thời gian hết hạn cho thành viên Vip đó. Thấy vấn đề khá hay nên mình nghĩ nên tạo 1 bài về vấn đề này : Quản lý thời gian hoạt động cho Vip member trong WordPress

quan-ly-vip-member-vnkings4

Có các vấn đề chính cần giải quyết:

  • Tạo nhóm thành viên Vip
  • Thêm thời gian hết hạn vào thành viên vip đó.

Cùng giải quyết các vấn đề trên:
Đầu tiên bạn tạo 1 nhóm Vip Member
quan-ly-vip-member-vnkings
Thêm đoạn code bên dưới vào file functions.php

$vnkings_new_user = add_role('vipuser', __( 'Vip User' ),
    array(
        'read'         => true,
        'edit_posts'   => true,
        'delete_posts' => false,
    )
);

Thêm trường thời gian cho thành viên đó
(đây là trường bạn nhập vào và sẽ có dạng ngày-tháng-năm như trong hình)
quan-ly-vip-member-vnkings2
Thêm đoạn code bên dưới vào file functions.php

function add_fields_user($profile_fields){
$profile_fields['vipend'] = 'Thời gian hết Vip';
return $profile_fields;
}
add_filter('user_contactmethods', 'add_fields_user');

Cuối cùng ở file Single.php chính là bài viết sẽ hiển thị cho thành viên VIP hay không bằng đoạn code dưới đây

<?php  $current_user = wp_get_current_user(); $vnkingsuserid= $current_user->ID;?>
<?php $ngaysosanh = get_the_author_meta( 'vipend', $vnkingsuserid ); $ngayhomnay = date("d-m-Y"); ?>
<?php if(current_user_can('vipuser')) { ?>
<?php if (strtotime($ngayhomnay) > strtotime($ngaysosanh)) { ?>
Bạn đã hết VIP ....
<?php } elseif (strtotime($ngayhomnay) == strtotime($ngaysosanh)) { ?>
Hết hôm nay bạn sẽ không xem được bài này vì hết Vip ...
<?php }else{ ?>
Nội dung cần hiển thị cho Vip Member ....
<?php } } ?> 

Giải Thích:

  • $current_user: lấy thông tin thành viên đang đăng nhập
  • $vnkingsuserid: lấy id của thành viên đang đăng nhập
  • $ngaysosanh: từ id bên trên lấy ra được trường ngày tháng năm của thành viên sẽ hết hạn
  • current_user_can('vipuser'): kiểm tra có phải Vip member hay không
  • Các if else: kiểm tra điều kiện ngày hiện tại và ngày hết hạn để hiển thị nội dung mong muốn

Cùng kiểm tra kết quả nhé:
quan-ly-vip-member-vnkings3

Chúc các bạn thành công!

Bài liên quan

    • Bạn có thể dùng query này:

      <?php
      $wp_user_search = new WP_User_Query( array( 'role' => 'vipuser' ) );
      $vipusers = $wp_user_search->get_results();
      $vipuser_ids = array();
      foreach($vipusers as $vipuser) {
          $vipuser_ids[] = $vipuser->ID;
      }
      $args = implode(',', $vipuser_ids);
      query_posts("author=$args");
      ?>
      

Bình luận bài viết

Bạn có thể dùng các thẻ HTML này:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

X

Tạo live chat facebook cho website

Bạn cần tư vấn ?