分享各种网络资源
是我乃至整个互联网的精髓所在
最新公告:
  • 开启被动注册模式,详情点击这里,同时接小单,QQ:330733312
  • 目前站点正在不断折腾和调试中,如有问题请见谅
     您目前所在位置: 站点首页 » WordPress » WordPress 代码 » WordPress评论处添加签到以及私信功能
  • WordPress评论处添加签到以及私信功能

  • 第一步代码
  • 第二步代码
  • 第三步代码
  • 第四部代码
  • 注意事项
  • WordPress评论处添加签到以及私信功能-BanYuner

    上面看到的就是添加签到功能,点击签到后,评论内容中就会出现指定文字,这个功能的实现方式就是点击事件的实现方式,其中获取了当前时间,大家觉得有必要的话,可以自行添加。
    WordPress评论处添加签到以及私信功能-BanYuner

    上面一个就是私信功能了,目前我没有进行尝试,所以是否真的是私信功能我真心还不知道,指不定过段时间就有用户会使用了。那么废话不多说了,直接开始附上相关代码及教程吧。

    第一步代码

    <span class="muted ml5 comt-private"><i class="fa fa-at"></i><a href="javascript:SIMPALED.Editor.private()"> 私信</a></span>
    <span class="muted ml5 comt-sign"><i class="fa fa-edit"></i><a href="javascript:SIMPALED.Editor.daka()"> 签到</a></span>
    

    以上代码是添加到comments.php中的,位置方面一般是添加到评论框下面或者内部,这个自己可以尝试一下。

    第二步代码

    /*评论框js
    	 * ====================================================
    	 */
    	jQuery(document).ready(function($) {
        function addEditor(a, b, c) {
            if (document.selection) {
                a.focus();
                sel = document.selection.createRange();
                c ? sel.text = b + sel.text + c: sel.text = b;
                a.focus()
            } else if (a.selectionStart || a.selectionStart == '0') {
                var d = a.selectionStart;
                var e = a.selectionEnd;
                var f = e;
                c ? a.value = a.value.substring(0, d) + b + a.value.substring(d, e) + c + a.value.substring(e, a.value.length) : a.value = a.value.substring(0, d) + b + a.value.substring(e, a.value.length);
                c ? f += b.length + c.length: f += b.length - e + d;
                if (d == e && c) f -= c.length;
                a.focus();
                a.selectionStart = f;
                a.selectionEnd = f
            } else {
                a.value += b + c;
                a.focus()
            }
        }
    
    		/**
    		 * 时间对象;
    		 */
    		Date.prototype.format = function(format) {
    			/*
    			 * eg:format="yyyy-MM-dd hh:mm:ss";
    			 */
    			var o = {
    				"M+": this.getMonth() + 1, // month  
    				"d+": this.getDate(), // day  
    				"h+": this.getHours(), // hour  
    				"m+": this.getMinutes(), // minute  
    				"s+": this.getSeconds(), // second  
    				"q+": Math.floor((this.getMonth() + 3) / 3), // quarter  
    				"S": this.getMilliseconds() // millisecond  
    			}
    
    			if (/(y+)/.test(format)) {
    				format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    			}
    
    			for (var k in o) {
    				if (new RegExp("(" + k + ")").test(format)) {
    					format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
    				}
    			}
    			return format;
    		}
    		
    		var myDate = new Date().format("yyyy-MM-dd hh:mm:ss");
    	  var mytime=myDate.toLocaleString()
        var g = document.getElementById('comment') || 0;
        var h = {
            daka: function() {
                addEditor(g, '<code>签到成功!签到时间:' + mytime, ',每日打卡,生活更精彩哦~</code>')
            },
            del: function() {
                addEditor(g, '<del>', '</del>')
            },
            code: function() {
                addEditor(g, 'pre<code>', '/pre</code>')//这里的pre标签请自行添加<以及>
            },
            strong: function() {
                addEditor(g, '<strong>', '</strong>')
            },
    	ahref: function() {
                var a = prompt('请输入链接地址', 'http://');
                var b = prompt('请输入链接描述','');
                if (a) {
                        addEditor(g, '<a target="_blank" href="' + a + '"rel="external">' + b + '</a>','')
            }
        }, 
    	img: function() {
                var a = prompt('请输入图片地址', 'http://');
                if (a) {
                        addEditor(g, '<img src="' + a + '" alt="BanYuner" />','')
            }
        }, 
    	private: function() {
                var a = prompt('请输入私信内容', '');
                addEditor(g, '防查水表。[private]' + a + '[/private]')
        }, 
    	};
    	window['SIMPALED'] = {};
    	window['SIMPALED']['Editor'] = h
        });
    !
    function(b) {
    	b(function() {
    		b.support.transition = function() {
    			var c = function() {
    				var f, e = document.createElement("bootstrap"),
    				d = {
    					WebkitTransition: "webkitTransitionEnd",
    					MozTransition: "transitionend",
    					OTransition: "oTransitionEnd otransitionend",
    					transition: "transitionend"
    				};
    				for (f in d) {
    					if (void 0 !== e.style[f]) {
    						return d[f]
    					}
    				}
    			} ();
    			return c && {
    				end: c
    			}
    		} ()
    	})
    } (window.jQuery);
    

    这步代码就是点击事件的代码了,也是可以自行修改的,其实这段代码中间也添加了其它的点击事件,但是原教程中并没有告诉我们,那么如何使用呢?这里简单的说下:

    在第一步代码中我们可以看到,其实上面和下面的代码都是一样的,只需要修改其中一个变量,那么依葫芦画瓢,我们想要实现第二段代码中的上传图片功能啊,粗标签啊,代码功能啊什么的,我们只需要另起一行添加并修改其中的dakacodestrong等:

    <span class="muted ml5 comt-sign"><i class="fa fa-edit"></i><a href="javascript:SIMPALED.Editor.daka()"> 签到</a></span>
    

    上面的替换,我相信大家应该都是可以理解的。

    第三步代码

    .comt-smilie,.comt-format,.comt-img,.comt-sign,.comt-private{cursor: pointer;float: left;line-height: 30px;width: 50px;margin-right: 5px;}
    .comt-img a,.comt-sign a ,.comt-private a {color:inherit !important;}
    

    这个就是相关的CSS代码了,大家可以自己修改来适应自己的主题。

    第四部代码

    这里感谢楚书业的反馈,因为我没有测试代码的有效性,所以这段代码被我忽略了,其实上面的代码是某个主题内置的功能,所以那个主题会自带一个functions函数,而这个函数的效果就是实现private功能的,那么这里我直接附上来了:

    //评论处私信
    function private_content($atts, $content = null){
    	global $comment;
    	$author_email = $comment->comment_author_email;
    	$parent_email = get_comment_author_email($comment->comment_parent);
    	$user = wp_get_current_user();
    	$user_id = $user->ID;
    	$user_email = $user->user_email;
    	if (current_user_can('create_users') || ($user_email == $parent_email && $user_id != 0) || ($author_id != 0 && $author_email == $user_email)){
    		return '' . $content . '';
    	}else{
    		return __('***隐藏内容仅管理员和父级评论者可见***','BanYuner');
    	}		
    }
    add_shortcode('private', 'private_content');
    add_filter('comment_text', 'do_shortcode'); 
    

    注意事项

    因为我的站点目前使用的表情并不是官方的表情,而这个代码貌似直接替换了官方的表情的相关代码,所以在id以及class类方面,大家根据自己的情况来做修改。

    关注我们 打赏 分享此文

    微信扫码,关注我们

    扫码,支持我

    WordPress评论处添加签到以及私信功能

    支付宝(点击图片切换)

    扫码,支持我

    WordPress评论处添加签到以及私信功能

    微信(点击图片切换)

    扫码,手机看

    WordPress评论处添加签到以及私信功能
    匿名

    个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

    WordPress评论处添加签到以及私信功能
    1 + 9 =
    1. 11楼
      帅气小琦琦
      最后评论时间:2017/11/17 23:10
      来自天朝的朋友 谷歌浏览器 Windows 10 湖北省武汉市 联通
      看看效果***隐藏内容仅管理员和父级评论者可见***
      帅气小琦琦    6小时前回复