wordpress 做一个简单发布文章消耗积分功能

wordpress 做一个简单发布文章消耗积分功能

 

文章出自:http://www.zzw666.com/Vlog/37.html 转载请注明

 

功能介绍:每个用户都有积分,默认为0。积分为0时,用户不能发布文章,每发布一篇文章减1积分。可以有效的解决wordpress机器人发稿的问题。
技术介绍


数据库增加积分字段

//数据库操作

wp_hsm_users表中,新增user_jifen字段,类型为Int(11)默认为0

 

 


后台给用户增加积分

//这个文件

/wp-admin/user-edit.php

 

//找到这段$errors = edit_user( $user_id );修改成

//增加更新积分

$wpdb->query( "UPDATE `wp_hsm_users` SET user_jifen = ".$_POST['jifen']." WHERE ID = '$user_id'");

$errors = edit_user( $user_id );

 

//找到这段<table class="form-table" role="presentation">修改成

<table class="form-table" role="presentation">

<tr class="user-jifen-wrap">

<th><label for="jifen">剩余积分</label></th>

<td><input type="number" name="jifen" id="jifen" value="<?php $query = "select user_jifen from wp_hsm_users where ID=".$user_id;$tt=$wpdb->get_var( $query );echo $tt;?>" class="regular-number" />

<p class="description">每发布一篇文章,消耗1个积分</p></td>

</tr>

 


前台显示积分,和发布文章时积分识别

//新增这个文件

/wp-admin/user/jifen.php

<?php

define( 'WP_USER_ADMIN', true );

require_once dirname( __DIR__ ) . '/admin.php';

$current_user = wp_get_current_user();

$query = "select user_jifen from wp_hsm_users where ID=".$current_user->ID;

$tt=$wpdb->get_var( $query );

?>

document.write('<div style=" color: #f00; ">您的积分剩余:<span style=" font-size: 28px; font-weight: bold; "><?php echo $tt;?></span>,充值积分请联系管理员</div>');

 

//这个文件

/wp-content/themes/zibll/pages/newposts.php

//找到这段<div class="content-layout">修改成

<div class="content-layout">

<script type='text/javascript' src='/wp-admin/user/jifen.php'></script>

 

 

//这个文件

/wp-content/themes/zibll/action/new_posts.php

//找到这段$in_id = wp_insert_post($postarr, 1);修改成

        $current_user = wp_get_current_user();

        $query = "select user_jifen from wp_hsm_users where ID=".$current_user->ID;

        $tt=$wpdb->get_var( $query );

        if($tt<=0){

            echo (json_encode(array('error' => 1, 'ys' => 'danger', 'msg' => '您的积分不足,请联系管理员充值')));

            exit();

        }else{

        $wpdb->get_var("UPDATE `wp_hsm_users` SET user_jifen = user_jifen-1 WHERE ID = ".$current_user->ID);

        $in_id = wp_insert_post($postarr, 1);

        }

 

//找到function zib_ajax_new_posts(){修改成

function zib_ajax_new_posts()

 

{

global $wpdb;

 

 

 


后台显示积分

//这个文件

wp-content hemeszibllzibpayunctionsdmindmin.php

//找到unset($columns['name']);改成

    unset($columns['name']);

    $columns['user_jifen'] = '<span>积分</span>';

 

//找到switch ($column_name) {修改成

    switch ($column_name) {

        case "user_jifen":

            return $user->user_jifen;

            break;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值