久久精品国产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 - 邀請碼生成器

結束語

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

相關推薦

隱藏分類以及文章但登陸后可見 - WordPress教程

下載權限
查看
  • 免費下載
    評論并刷新后下載
    登錄后下載
  • {{attr.name}}:
您當前的等級為
登錄后免費下載登錄 小黑屋反思中,不準下載! 評論后刷新頁面下載評論 支付以后下載 請先登錄 您今天的下載次數(次)用完了,請明天再來 支付積分以后下載立即支付 支付以后下載立即支付 您當前的用戶組不允許下載升級會員
您已獲得下載權限 您可以每天下載資源次,今日剩余

給TA贊賞
共{{data.count}}人
人已贊賞
??
Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
?
購物車
優惠劵
搜索
久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

    9000px;">

      欧美精品乱人伦久久久久久| 日产国产高清一区二区三区| 亚洲福利国产精品| 日韩电影免费一区| 91久久精品一区二区二区| 日本一区二区免费在线观看视频 | 高清国产午夜精品久久久久久| 色又黄又爽网站www久久| 日韩欧美区一区二| 一个色妞综合视频在线观看| www.在线成人| 国产精品久久久久永久免费观看| 日本一区二区在线不卡| 日韩片之四级片| 最新国产精品久久精品| 天天综合天天综合色| 国产99久久久精品| 欧美日本不卡视频| 日本一区二区成人| 国产高清在线观看免费不卡| 国产成人av一区二区三区在线观看| 欧美日韩在线播放一区| 久久久久久久久久久久电影 | va亚洲va日韩不卡在线观看| 日韩精品一区二区在线| 一区二区在线观看不卡| 国产99精品在线观看| 欧美一级欧美三级在线观看| 亚洲永久免费av| av激情成人网| 欧美mv日韩mv国产| 日韩在线播放一区二区| 91蜜桃网址入口| 国产日韩欧美激情| 狠狠色丁香婷婷综合| 日韩一区二区三免费高清| 一区二区三区在线免费视频| 99久久免费精品| 欧美精品一区二区三区蜜桃视频 | 欧美日韩精品一二三区| 国产精品福利一区二区三区| 精品影院一区二区久久久| 欧美猛男gaygay网站| 一区二区三区四区蜜桃| 在线观看日韩av先锋影音电影院| 国产精品美日韩| 99re热这里只有精品视频| 精品福利在线导航| 精品一区二区在线看| 欧美疯狂做受xxxx富婆| 日本va欧美va欧美va精品| 91久久精品一区二区三区| 一卡二卡三卡日韩欧美| 91偷拍与自偷拍精品| 亚洲精品欧美在线| 色网综合在线观看| 亚洲国产sm捆绑调教视频 | 欧美亚洲综合一区| 综合中文字幕亚洲| 欧美日韩精品一区二区三区四区| 午夜视频久久久久久| 4438x成人网最大色成网站| 午夜国产不卡在线观看视频| 欧美一区2区视频在线观看| 日韩高清中文字幕一区| 欧美成人一区二区三区在线观看| 久久精品国产999大香线蕉| 2020日本不卡一区二区视频| 国产成人av一区| 亚洲乱码中文字幕综合| 日本高清免费不卡视频| 日韩va欧美va亚洲va久久| 欧美刺激午夜性久久久久久久| 国产成人福利片| 成人欧美一区二区三区白人| 欧美日韩精品一区视频| 精品一区二区三区在线视频| 国产日韩精品久久久| 色综合激情久久| 日本欧美加勒比视频| 国产欧美一区二区在线| 91九色02白丝porn| 久久国内精品自在自线400部| 久久久久久97三级| 欧美在线短视频| 日精品一区二区三区| 国产区在线观看成人精品| 国产不卡在线播放| 丝袜美腿高跟呻吟高潮一区| 欧美一区二区视频在线观看| 国产99久久久久| 亚洲综合自拍偷拍| 久久久亚洲精华液精华液精华液| 不卡的av电影在线观看| 奇米在线7777在线精品 | 一区二区三区四区精品在线视频| 欧美一区二区在线视频| 韩国欧美国产一区| 亚洲人成网站在线| 日韩片之四级片| 懂色av噜噜一区二区三区av| 亚洲精品日韩综合观看成人91| 欧美日韩在线播放一区| 极品销魂美女一区二区三区| 中文字幕一区二区三区乱码在线| 欧美电影免费观看高清完整版在线观看 | 在线精品视频免费观看| 韩国三级中文字幕hd久久精品| 亚洲色图丝袜美腿| 国产成人av一区二区三区在线 | 日本韩国精品一区二区在线观看| 奇米777欧美一区二区| 亚洲蜜臀av乱码久久精品| 日本不卡视频一二三区| 一区在线观看免费| 欧美亚洲日本一区| 国产精品影音先锋| 麻豆精品视频在线观看免费| 精品国产一区二区精华| 制服丝袜日韩国产| 在线观看免费亚洲| 99视频热这里只有精品免费| 国产寡妇亲子伦一区二区| 日韩一区二区在线免费观看| 不卡视频一二三| 亚洲一区二区三区视频在线 | 日韩精品中文字幕一区二区三区 | 欧美日韩久久一区| 国产盗摄女厕一区二区三区| 亚洲自拍另类综合| 中文无字幕一区二区三区| 精品国产免费人成在线观看| 欧美理论片在线| 欧美日韩精品欧美日韩精品一综合 | 欧美网站一区二区| 91最新地址在线播放| 国产盗摄女厕一区二区三区| 国产丝袜在线精品| 久久久99免费| 欧美一区二区三区小说| 91麻豆精品国产综合久久久久久| 日本高清无吗v一区| 欧美天堂亚洲电影院在线播放| av电影在线观看一区| 99国产精品久| 色综合久久久久久久久| 91福利视频网站| 在线看一区二区| 69精品人人人人| 26uuu亚洲综合色欧美| 日韩一级片在线观看| 日韩欧美国产综合一区| 日韩欧美二区三区| 久久蜜臀中文字幕| 久久久久国产免费免费| 视频一区在线播放| 麻豆精品一区二区av白丝在线| 激情小说欧美图片| 成人国产亚洲欧美成人综合网| 91在线国产福利| 精品视频999| 精品久久久久久久久久久院品网| 欧美成人猛片aaaaaaa| 欧美国产禁国产网站cc| 中文字幕高清不卡| 亚洲最大色网站| 免费看欧美女人艹b| 国产一区二区h| 色琪琪一区二区三区亚洲区| 97久久精品人人爽人人爽蜜臀| 免费在线观看一区二区三区| 激情深爱一区二区| 色综合久久99| 欧美夫妻性生活| 国产精品国产三级国产有无不卡 | 91高清在线观看| 色婷婷av一区二区三区软件 | 久久电影网站中文字幕| 亚洲激情图片小说视频| 国产精品五月天| 亚洲国产精品精华液ab| 一本大道综合伊人精品热热 | 国产麻豆午夜三级精品| av一区二区三区四区| 欧美日韩免费电影| 精品国产伦一区二区三区观看方式| 国产日韩欧美a| 热久久一区二区| 日韩一区精品字幕| 国产中文字幕精品| 欧美三级电影在线观看| 日韩女同互慰一区二区| 亚洲麻豆国产自偷在线| 韩国毛片一区二区三区| 欧洲国产伦久久久久久久| 久久久久9999亚洲精品| 日韩电影在线一区二区| 色吧成人激情小说| 国产精品国产精品国产专区不蜜| 日韩av一区二区三区|