久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

Ashuwp invitaion code – 邀請碼生成器

簡單實用的wordpress邀請碼、注冊碼生成器

Ashuwp_Invitation_Code是一個wordpress插件,它有助于為您的網站添加邀請代碼。 wordpress用戶還可以配合一些日志限制訪問代碼來做一個付費閱讀網站。

要使用此插件需要開啟wordpress的注冊功能。

代碼版

純代碼實現邀請碼 ?? 的思路:

  1. 需要新建一個數據表來保存邀請碼。
  2. 后臺需要兩個頁面:邀請碼列表、添加邀請碼。
  3. 添加邀請碼的時候需要能設置前綴,一次生成多個邀請碼,邀請碼長度可自定義,每個邀請碼使用次數可設置。

數據表

code:邀請碼、max:邀請碼使用次數、users:使用這個驗證碼的所有用戶、status:驗證碼是否可用。

Ashuwp invitaion code - 邀請碼生成器

數據庫操作

數據庫操作部分代碼包括:1. 建立數據庫。2.對數據的獲取、增加、刪除、更改等操作。

<?php
//第一次啟用主題時執行
function ashuwp_load_theme() {
  global $pagenow;
  if ( is_admin() && 'themes.php' == $pagenow && isset( $_GET['activated'] ) ){
    ashuwp_invitation_code_install();
  }
}
add_action( 'load-themes.php', 'ashuwp_load_theme' );
//建立數據表
function ashuwp_invitation_code_install(){
  global $wpdb;
  $table_name = $wpdb->prefix . 'invitation_code';
  if( $wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name ) :
    $sql = " CREATE TABLE `".$wpdb->prefix."invitation_code` (
      `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
      `code` varchar(40),
      `max` INT NOT NULL,
      `users` varchar(20),
      `status` tinyint
      ) ENGINE = MYISAM DEFAULT CHARSET=utf8;";
    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    dbDelta($sql);
  endif;
}
//插入數據
function ashuwp_insert_invitation_code( $code, $max = 1, $users, $status){
  global $wpdb;
  if($code==''){
    return false;
  }
  $code = trim($code);
  $code_exists = ashuwp_check_invitation_code($code);
  if(!$code_exists){
    $insert = "insert into ".$wpdb->prefix."invitation_code (code,max,users,status) values( '$code', '$max', '','1')";
    $wpdb->query($insert);
    return true;
  }else{
    return false;
  }
}
//檢查邀請碼是否已存在
function ashuwp_check_invitation_code( $code ){
  global $wpdb;
  $sql = "select * from ".$wpdb->prefix."invitation_code where code='$code'";
  $result = $wpdb->get_results($sql);
  if(!empty($result)){
    return true;
  }else{
    return false;
  }
}
//獲取邀請碼
function ashuwp_get_invitation_code($per_page=50, $page=1){
  global $wpdb;
  $page = (int)$page;
  $per_page = (int)$per_page;
  if(!$page){
    $page = 1;
  }
  if(!$per_page){
    $per_page = 50;
  }
  $begin = $per_page*($page-1);
  $end = $per_page*$page;
  $sql = "select * from ".$wpdb->prefix."invitation_code limit $begin,$end";
  $results = $wpdb->get_results($sql,'ARRAY_A');
  return $results;
}
//邀請碼的刪除、啟用、禁用。
function ashuwp_operation_invitation_code( $id, $action ){
  global $wpdb;
  $id = (int)$id;
  if(!$id){
    return false;
  }
  if(!in_array($action,array('delete','deactive','active'))){
    return false;
  }
  if($action =='delete'){
    $sql = "delete from ".$wpdb->prefix ."invitation_code where id='$id'";
  }
  if($action =='deactive'){
    $sql = "update ".$wpdb->prefix ."invitation_code set status=0 where id='$id'";
  }
  if($action =='active'){
    $sql = "update ".$wpdb->prefix ."invitation_code set status=1 where id='$id'";
  }
  $result = $wpdb->query($sql);
  if($result){
    return true;
  }else{
    return false;
  }
}

網站后臺
網站后臺部分代碼包括:1. 邀請碼列表頁面。2. 邀請碼增加頁面。

<?php
class ashuwp_invitation_code_admin {
  static public $instance;
  public function __construct(){
    add_action( 'admin_menu', array(&$this, 'ashuwp_invitation_code_menu') );
  }
  function ashuwp_invitation_code_menu(){
    add_menu_page( '邀請碼', '邀請碼', 'manage_options', 'invitation_code', array(&$this, 'invitation_code_list'),'',27);
    add_submenu_page('invitation_code', '添加邀請碼', '添加邀請碼', 'manage_options', 'invitation_code_add', array(&$this, 'invitation_code_add'));
  }
  function invitation_code_list(){
    if( isset($_GET['code_action']) && in_array($_GET['code_action'],array('delete','deactive','active')) && isset($_GET['code_id']) ){
      $code_id = (int)$_GET['code_id'];
      if(!$code_id){
        return;
      }
      $result = ashuwp_operation_invitation_code( $code_id, $_GET['code_action'] );
    }
    $code_lists = ashuwp_get_invitation_code(999,1);
  ?>
    <div class="wrap">
      <h1 class="wp-heading-inline">邀請碼</h1>
      <a href="<?php echo admin_url( 'admin.php?page=invitation_code_add' ); ?>" class="page-title-action">添加</a>
      <hr class="wp-header-end">
      <?php
      if(isset($result)){
        if($result){
      ?>
      <div id="message" class="notice notice-success">操作成功。</div>
      <?php
        }else{
        ?>
        <div id="message" class="notice notice-error">操作失敗。</div>
        <?php
        }
      }
      ?>
      <ul class="subsubsub"><li class="all">全部<span class="count">(<?php echo count($code_lists); ?>)</span></ul>
      <table class="wp-list-table widefat fixed">
        <thead>
          <tr>
            <th scope="col">ID</th>
            <th scope="col">邀請碼</th>
            <th scope="col">統計(最大使用數/已使用)</th>
            <th scope="col">用戶</th>
            <th scope="col">操作</th>
          </tr>
        </thead>
        <tbody>
        <?php
        if($code_lists){
          foreach($code_lists as $code){
            $users = array();
            if(!empty($code['users'])){
              $users = explode( ',', $code['users'] );
            }
            $used = count($users);
          ?>
          <tr>
            <td><?php echo $code['id']; ?></td>
            <td>
              <?php echo $code['code']; ?>
              <?php
              if(empty($code['status']) || !$code['status']){
                echo '-已禁用';
              }
              ?>
            </td>
            <td>
              <?php echo $code['max'].'/'.$used; ?>
            </td>
            <td>
              <?php
              foreach( $users as $user_id ){
                $user = get_user_by('id', $user_id);
                if(!empty($user)){
                ?>
                <a href="<?php echo admin_url( 'user-edit.php?user_id='.$user->ID ); ?>"><?php echo $user->user_login; ?></a>,
                <?php
                }
              }
              ?>
            </td>
            <td>
              <a href="<?php echo admin_url( 'admin.php?page=invitation_code&code_action=delete&code_id='.$code['id'] ); ?>">刪除</a>
              <?php
              if(empty($code['status']) || !$code['status']){
              ?>
              <a href="<?php echo admin_url( 'admin.php?page=invitation_code&code_action=active&code_id='.$code['id'] ); ?>">啟用</a>
              <?php
              }else{
              ?>
              <a href="<?php echo admin_url( 'admin.php?page=invitation_code&code_action=deactive&code_id='.$code['id'] ); ?>">禁用</a>
              <?php
              }
              ?>
            </td>
          </tr>
          <?php
          }
        }
        ?>
        </tbody>
        <tfoot>
          <tr>
            <th scope="col">ID</th>
            <th scope="col">邀請碼</th>
            <th scope="col">統計</th>
            <th scope="col">用戶</th>
            <th scope="col">操作</th>
          </tr>
        </tfoot>
      </table>
      <div class="tablenav bottom">
        <div class="tablenav-pages">
          <span class="pagination-links">
          </span>
        </div>
      </div>
    </div>
  <?php
  }
  function invitation_code_add(){
    $data_codes = ashuwp_get_invitation_code(999,1);
    $code_list = array();
    foreach($data_codes as $code){
      $code_list[] = $code['code'];
    }
    if(isset($_REQUEST['submit']) && isset($_REQUEST['ashuwp_invitation_code_field']) && check_admin_referer('ashuwp_invitation_code_action', 'ashuwp_invitation_code_field') ) {
      $code_prefix = '';
      if(!empty($_POST['code_prefix'])){
        $code_prefix = trim($_POST['code_prefix']);
      }
      $code_length = '';
      if(!empty($_POST['code_length'])){
        $code_length = (int)$_POST['code_length'];
      }
      if(!$code_length){
        $code_length = 8;
      }
      $code_number = 1;
      if(!empty($_POST['code_number'])){
        $code_number = (int)$_POST['code_number'];
      }
      if(!$code_number){
        $code_number = 1;
      }
      $code_counter = '';
      if(!empty($_POST['code_counter'])){
        $code_counter = (int)$_POST['code_counter'];
      }
      if(!$code_counter){
        $code_counter = 1;
      }
      $i=1;
      $code_tem = array();
      while ( $i <= $code_number ){
        $tem = strtoupper( $code_prefix . wp_generate_password( $code_length, false ) );
        if(!in_array($tem,$code_list)){
          $i++;
          $code_tem[] = $tem;
          ashuwp_insert_invitation_code( $tem, $code_counter, '', 1);
        }
      }
    }
  ?>
    <div class="wrap">
      <h1 class="wp-heading-inline">添加邀請碼</h1>
      <a href="<?php echo admin_url( 'admin.php?page=invitation_code_add' ); ?>" class="page-title-action">添加</a>
      <hr class="wp-header-end">
      <?php
      if(!empty($code_tem)){
      ?>
      <div id="message" class="notice notice-success">
        <p>邀請碼添加成功:</p>
        <?php
        foreach($code_tem as $text){
          echo '<p>'.$text.'</p>';
        }
        ?>
      </div>
      <?php
      }
      ?>
      <form action="" method="post">
        <table class="form-table">
          <tbody>
            <tr>
              <td><label for="code_prefix">邀請碼前綴</label></td>
              <td>
                <input type="text" id="code_prefix" name="code_prefix" class="regular-text"  value=""/>
                <p class="description">前綴可不填。</p>
              </td>
            </tr>
            <tr>
              <td><label for="code_length">邀請碼字符長度</label></td>
              <td>
                <input type="text" id="code_length" name="code_length" class="regular-text"  value=""/>
                <p class="description">字符長度不包括前綴,默認8個字符。</p>
              </td>
            </tr>
            <tr>
              <td><label for="code_number">邀請碼個數</label></td>
              <td>
                <input type="text" id="code_number" name="code_number" class="regular-text" value=""/>
                <p class="description">本次生成多少個邀請碼,默認1個。</p>
              </td>
            </tr>
            <tr>
              <td><label for="code_counter">允許使用的次數</label></td>
              <td>
                <input type="text" id="code_counter" name="code_counter" class="regular-text"  value=""/>
                <p class="description">每個邀請碼允許使用的次數,默認1次。</p>
              </td>
            </tr>
          </tbody>
        </table>
        <p class="submit">
          <?php wp_nonce_field( 'ashuwp_invitation_code_action','ashuwp_invitation_code_field' ); ?>
          <input type="submit" name="submit" id="submit" class="button button-primary" value="生成邀請碼">
        </p>
      </form>
    </div>
  <?php
  }
}
$invitation_code = new ashuwp_invitation_code_admin();

效果展示

1. 增加邀請碼

Ashuwp invitaion code - 邀請碼生成器

2. 邀請碼列表

Ashuwp invitaion code - 邀請碼生成器

結束語

上面范例代碼,僅做參考使用,可根據實際自行優化,具體如何使用邀請碼也請自行斟酌。

相關推薦

Ashuwp invitaion code – 邀請碼生成器

下載權限
查看
  • 免費下載
    評論并刷新后下載
    登錄后下載
  • {{attr.name}}:
您當前的等級為
登錄后免費下載登錄 小黑屋反思中,不準下載! 評論后刷新頁面下載評論 支付以后下載 請先登錄 您今天的下載次數(次)用完了,請明天再來 支付積分以后下載立即支付 支付以后下載立即支付 您當前的用戶組不允許下載升級會員
您已獲得下載權限 您可以每天下載資源次,今日剩余
??
Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
?
購物車
優惠劵
搜索
久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

    9000px;">

      亚洲欧美一区二区三区在线观看 | 亚洲不卡视频在线观看| 中文字幕乱视频| 不卡的av中文字幕| 五月婷婷六月丁香| 精品久久久久成人码免费动漫| www.99热| 亚洲精品无码久久久久| 手机看片福利在线| 亚洲一区二区三区四区精品| 黄色一级视频免费观看| 天天干天天色天天干| 福利片一区二区三区| 日本高清www| 91黄色在线视频| 老熟妇高潮一区二区高清视频| 最好看的日本字幕mv视频大全| 国产在线一级片| 伊人久久久久久久久| 国产无遮挡又黄又爽又色| 天天插天天干天天操| 国产精品久久久久久成人| 熟女丰满老熟女熟妇| 国产超碰在线播放| 熟妇人妻久久中文字幕| 国产精品久久久久久久久久久久久久久久久| 欧美自拍小视频| 波多野结衣av在线免费观看| 日韩欧美不卡视频| 成人免费视频国产免费| 无码少妇一区二区| 国产一区二区在线免费播放 | 黄色国产在线播放| 中文字幕无码人妻少妇免费| 久久综合桃花网| 91国产精品一区| 三级在线观看网站| 国产极品视频在线观看| 天堂在线资源8| 国产又粗又猛又黄又爽| 中文字幕精品无| 免费看av毛片| 成 人 黄 色 小说网站 s色| 日本一区二区网站| 国产一区二区视频免费| 亚洲欧美日韩成人在线| 日本一级免费视频| 国产亚洲第一页| 一级片免费网站| 天堂成人在线观看| 久久福利小视频| 91在线视频国产| 亚洲成人福利在线观看| 久久这里只有精品9| av免费在线观看不卡| 性欧美一区二区三区| 久草视频中文在线| 成人久久久精品国产乱码一区二区| 亚洲 国产 图片| 欧美福利第一页| 国产一区二区三区影院| 999在线精品视频| 亚洲第一视频区| 人妻人人澡人人添人人爽| 国产无套精品一区二区三区| 91视频免费观看网站| 一区二区国产欧美| 日本少妇一区二区三区| 九九视频在线观看| 国产精品成人网站| 97超碰人人看| 亚洲狠狠婷婷综合久久久久图片| 深爱五月激情五月| 欧美日韩色视频| 狠狠人妻久久久久久综合蜜桃| а√天堂资源在线| 亚洲一区二区天堂| 中文字幕精品亚洲| 婷婷av一区二区三区| 日b视频在线观看| 久草视频中文在线| 国产一级一片免费播放| 99re这里只有| 一二三区免费视频| 亚洲黄色精品视频| 在线成人免费av| 天天操天天干天天做| 日本中文字幕免费观看| 欧美成人精品欧美一级私黄| 免费观看a级片| 国产又粗又猛又爽又黄| 国产高清av片| 国产成人精品一区二区色戒 | 国产一级大片在线观看| 成人区人妻精品一区二| 99免费在线观看| 91成人破解版| 一级欧美一级日韩片| 亚洲欧美黄色片| 亚洲一级片av| 一本色道久久综合精品婷婷| 亚洲午夜激情视频| 亚洲欧美日韩一区二区三区四区| 亚洲精品77777| 亚洲国产成人一区二区| 亚洲高清在线观看视频| 亚洲精品中文字幕在线播放 | 人妻久久一区二区| 人妻互换一二三区激情视频| 欧美福利在线视频| 日本久久精品一区二区| 日韩一级免费视频| 天天干天天操天天做| 天天操天天干天天插| 午夜视频在线免费看| 影音先锋国产在线| 亚洲精品电影院| 91成人福利视频| 成人区人妻精品一区二| 国产精品久久久久久在线| 国产在线视频99| 毛片毛片毛片毛| 日韩欧美中文字幕一区二区| 五月天激情小说| 中文字幕人妻一区二区三区视频| 亚洲欧美日韩激情| 91小视频网站| 国产黄a三级三级三级| 黄色av免费观看| 亚洲熟妇无码av| 91精品国产高清91久久久久久| 亚洲国产午夜精品| 国模无码视频一区| 不卡一区二区在线观看| 黄色av网站免费| 国产又粗又爽视频| 国产一级一片免费播放放a| 中文字幕在线视频免费| 一级全黄裸体免费视频| av中文字幕观看| 国产无遮挡又黄又爽| 欧美日韩国产黄色| 日日夜夜综合网| 天天干天天干天天干天天干天天干| 手机看片久久久| 亚洲激情视频一区| 亚洲欧美激情网| 九九九九九国产| 性久久久久久久久久| 国产极品一区二区| 久久久精品视频免费| 国产主播第一页| 久久发布国产伦子伦精品| 日韩av在线天堂| 一级做a爰片久久毛片| 久久国产精品国产精品| 国产亚洲精品久久久久久豆腐| 亚洲第一成年人网站| 色欲人妻综合网| 最新中文字幕免费视频| 懂色av粉嫩av蜜乳av| 久久久精品人妻无码专区| 婷婷激情五月网| 538精品在线观看| 精品国产乱码久久久久久鸭王1| 人人妻人人澡人人爽人人欧美一区| 中文成人无字幕乱码精品区| 成人午夜视频在线播放| 欧美 中文字幕| 亚洲精品一区二区三区新线路| 国产一级片播放| 无码人妻黑人中文字幕| av在线天堂网| 人妻大战黑人白浆狂泄| 亚洲天堂avav| 久久亚洲AV成人无码国产野外| 性欧美18一19性猛交| 国产精品一级二级| 少妇伦子伦精品无吗| www.涩涩涩| 日韩精品――中文字幕| aaaaa一级片| 日本护士做爰视频| 99九九精品视频| 欧美成人乱码一二三四区免费| 亚洲精品一区二区口爆| 九九这里只有精品视频| 亚洲激情视频一区| 久久久精品视频免费观看| 亚洲久久在线观看| 免费观看日批视频| 91精品国产乱码在线观看| 欧美大片xxxx| av小说在线观看| 日本一区二区在线观看视频| 97人妻精品一区二区三区视频| 欧美成人福利在线观看| av在线资源观看| 四虎国产精品免费| 国产午夜福利片|