分享各种网络资源
是我乃至整个互联网的精髓所在
 您目前所在位置: 站点首页 » WordPress » WordPress 代码 » WordPress后台评论回复支持表情插入
  • WordPress后台评论回复支持表情插入

  • function中添加代码
  • 后台引入JS
  • 很长一段时间内我都是通过后台评论,但是评论的时候发现有一个问题就是,虽然站点启用了表情,但是后台并不能好好使用表情,那么我经过百度找到了解决办法,成功的在后台评论中添加自定义表情了。具体效果如下图:
    WordPress后台评论回复支持表情插入-BanYuner

    那么现在开始就简单的说说如何实现这个功能:

    function中添加代码

    //////// 获取表情按钮,源码 willin 改进 zwwooooo
    function zfunc_smiley_button($custom=false, $before='', $after=''){
    if ($custom==true)
    $smiley_url=get_template_directory_uri().'/images/smilies';
    else
    $smiley_url=site_url().'/wp-includes/images/smilies';
    echo $before;
    ?>
    <a href="javascript:grin(':?:')"><img src="<?php echo $smiley_url; ?>/icon_question.gif" alt="" /></a>
    <a href="javascript:grin(':razz:')"><img src="<?php echo $smiley_url; ?>/icon_razz.gif" alt="" /></a>
    <a href="javascript:grin(':sad:')"><img src="<?php echo $smiley_url; ?>/icon_sad.gif" alt="" /></a>
    <a href="javascript:grin(':evil:')"><img src="<?php echo $smiley_url; ?>/icon_evil.gif" alt="" /></a>
    <a href="javascript:grin(':!:')"><img src="<?php echo $smiley_url; ?>/icon_exclaim.gif" alt="" /></a>
    <a href="javascript:grin(':smile:')"><img src="<?php echo $smiley_url; ?>/icon_smile.gif" alt="" /></a>
    <a href="javascript:grin(':oops:')"><img src="<?php echo $smiley_url; ?>/icon_redface.gif" alt="" /></a>
    <a href="javascript:grin(':grin:')"><img src="<?php echo $smiley_url; ?>/icon_biggrin.gif" alt="" /></a>
    <a href="javascript:grin(':eek:')"><img src="<?php echo $smiley_url; ?>/icon_surprised.gif" alt="" /></a>
    <a href="javascript:grin(':shock:')"><img src="<?php echo $smiley_url; ?>/icon_eek.gif" alt="" /></a>
    <a href="javascript:grin(':???:')"><img src="<?php echo $smiley_url; ?>/icon_confused.gif" alt="" /></a>
    <a href="javascript:grin(':cool:')"><img src="<?php echo $smiley_url; ?>/icon_cool.gif" alt="" /></a>
    <a href="javascript:grin(':lol:')"><img src="<?php echo $smiley_url; ?>/icon_lol.gif" alt="" /></a>
    <a href="javascript:grin(':mad:')"><img src="<?php echo $smiley_url; ?>/icon_mad.gif" alt="" /></a>
    <a href="javascript:grin(':twisted:')"><img src="<?php echo $smiley_url; ?>/icon_twisted.gif" alt="" /></a>
    <a href="javascript:grin(':roll:')"><img src="<?php echo $smiley_url; ?>/icon_rolleyes.gif" alt="" /></a>
    <a href="javascript:grin(':wink:')"><img src="<?php echo $smiley_url; ?>/icon_wink.gif" alt="" /></a>
    <a href="javascript:grin(':idea:')"><img src="<?php echo $smiley_url; ?>/icon_idea.gif" alt="" /></a>
    <a href="javascript:grin(':arrow:')"><img src="<?php echo $smiley_url; ?>/icon_arrow.gif" alt="" /></a>
    <a href="javascript:grin(':neutral:')"><img src="<?php echo $smiley_url; ?>/icon_neutral.gif" alt="" /></a>
    <a href="javascript:grin(':cry:')"><img src="<?php echo $smiley_url; ?>/icon_cry.gif" alt="" /></a>
    <a href="javascript:grin(':mrgreen:')"><img src="<?php echo $smiley_url; ?>/icon_mrgreen.gif" alt="" /></a>
    <?php
    echo $after;
    }
    //////// Ajax_data_zfunc_smiley_button by zwwooooo
    function Ajax_data_zfunc_smiley_button(){
    if( isset($_GET['action'])&& $_GET['action'] == 'Ajax_data_zfunc_smiley_button'  ){
    nocache_headers();
    zfunc_smiley_button(false, '<br />');
    die();
    }
    }
    add_action('init', 'Ajax_data_zfunc_smiley_button');
    //////// 后台回复评论支持表情插入 by zwwooooo
    function zfunc_admin_enqueue_scripts( $hook_suffix ) {
    wp_enqueue_script( 'zfunc-comment-reply', get_template_directory_uri() . '/admin_reply.js', false, 'by-zwwooooo' );
    }
    add_action( 'admin_print_styles', 'zfunc_admin_enqueue_scripts' );
    

    上面的代码直接添加到functions.php中即可,其中 $smiley_url 对应的文件路径需要自行修改。

    后台引入JS

    ///// 适用于 WordPress 3.8,如果较老版本请把 #comments-form 替换为 #icon-edit-comments,或者干脆把第4行和第11行删除/注释掉。
    jQuery(document).ready(function($){
    var data_zfunc_smiley_button='';
    if ($('#comments-form').length) {
    $.get('./?action=Ajax_data_zfunc_smiley_button',
    function (data) {
    data_zfunc_smiley_button=data;
    $('#qt_replycontent_toolbar input:last').after(data_zfunc_smiley_button);
    }
    );
    }
    });
    function grin(tag) {
    var myField;
    tag = ' ' + tag + ' ';
    if (document.getElementById('replycontent') && document.getElementById('replycontent').type == 'textarea') {
    myField = document.getElementById('replycontent');
    } else {
    return false;
    }
    if (document.selection) {
    myField.focus();
    sel = document.selection.createRange();
    sel.text = tag;
    myField.focus();
    }
    else if (myField.selectionStart || myField.selectionStart == '0') {
    var startPos = myField.selectionStart;
    var endPos = myField.selectionEnd;
    var cursorPos = endPos;
    myField.value = myField.value.substring(0, startPos)
    + tag
    + myField.value.substring(endPos, myField.value.length);
    cursorPos += tag.length;
    myField.focus();
    myField.selectionStart = cursorPos;
    myField.selectionEnd = cursorPos;
    }
    else {
    myField.value += tag;
    myField.focus();
    }
    }
    

    将上面的文件保存为 admin_reply.js 文件,之后上传到当前使用主题根目录下即可,如果你想要修改路径,需要修改 zfunc_admin_enqueue_scripts 功能函数中的路径即可。

    整体的教程来说就是上面了,操作起来也是比较简单的,有兴趣的用户可以自行动手操作一下看看吧。

    关注我们 打赏 分享此文

    微信扫码,关注我们

    扫码,支持我

    WordPress后台评论回复支持表情插入

    支付宝(点击图片切换)

    扫码,支持我

    WordPress后台评论回复支持表情插入

    微信(点击图片切换)

    扫码,手机看

    WordPress后台评论回复支持表情插入
    匿名

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

    WordPress后台评论回复支持表情插入
    6 + 1 =
    1. 2楼
      闲鱼
      最后评论时间:2017/08/12 19:00
      来自天朝的朋友 QQ浏览器 iPad OS 10_2 like Mac OS X) AppleWebKit 日本
      我一般都是前台回复的
      闲鱼 6天前回复
      • 帅气小琦琦
        最后评论时间:2017/08/18 10:36
        来自天朝的朋友 谷歌浏览器 Windows 10 湖北省武汉市 电信
        @闲鱼 我还是习惯后台回复了
        帅气小琦琦    37分钟前回复
    2. 1楼
      橘子书
      最后评论时间:2017/08/12 16:14
      来自天朝的朋友 谷歌浏览器 Windows 7 福建省厦门市 电信
      以前很想加,现在觉得用处不大。
      • 帅气小琦琦
        最后评论时间:2017/08/18 10:36
        来自天朝的朋友 谷歌浏览器 Windows 10 湖北省武汉市 电信
        @橘子书 还是有点用处的,我已经使用上了
        帅气小琦琦    37分钟前回复