实现wordpress后台回复评论支持插入表情

下面是简单明了(自大)的步骤方法:

1. functions.php 部分(就是把下面的代码扔 functions.php)

//////// 获取表情按钮,源码 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' );

2. 然后是在所用主题目录里面新建 admin_reply.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();
    }
}

效果如下:

时间: 2024-09-24 07:26:00

实现wordpress后台回复评论支持插入表情的相关文章

一款支持插入表情的编辑器实现代码(简单思路挺重要)_网页编辑器

下面是一个表情列表,为了简单我直接在li里面放图片的文件名称,而class 属性用来存放对应的标记 复制代码 代码如下: <ul id="faceList"> <li class="wx">0.gif</li> <li class="pz">1.gif</li> <li class="se">2.gif</li> </ul> 接下来

WordPress后台显示未回复评论及当前用户的评论的设置

我们要实现的功能图如: 上网搜了一下,发现有个插件DX Unanswered Comments(下载地址)可以实现这样的功能,只要上传安装好该插件,然后进后台 ? 设置 ? DX Unanswered Comments,在Authors List那里填上管理员的登录名,多个登录名用半角逗号隔开,保存即可. 然后进入WordPress后台 ? 评论,页面顶部就多了个 Non-replied 的筛选链接,点击即可查看管理员没有回复过的评论,还有个筛选链接是 Non-replied ? Top Lev

WordPress后台显示未回复的评论设置

WordPress博客提供的评论功能,可以增进博主和网友之间的互动,回复网友的评论可以增加用户粘度,但是随着你的博客评论越来越多,可能你没办法知道哪些评论已经回复,哪些评论没有回复. 最近有客户提出这样的需求,是否可以在WordPress后台 – 评论处加个筛选功能,可以筛选出没有被管理员回复过的评论,如: 未回复 上网搜了一下,发现有个插件DX Unanswered Comments(下载地址)可以实现这样的功能,只要上传安装好该插件,然后进后台 – 设置 – DX Unanswered Co

js实现评论插入表情图片在光标处插入字符

添加到数据库的每条评论中的每个表情都是以特殊的字符表示的,比如"[face1]"代表一个笑脸的表情,"[face2]"代表伤心的表情.只是,当这条评论在显示之前,对评论中的所有表情的特殊字符用对应的图片替换就行了  代码如下 复制代码 <?php     /**     *评论添加表情--在光标处插入表情字符(www.111cn.net)     */     $content = isset($_POST["content"]) ? $_

wordpress无法接收评论邮件提醒问题解决办法

WordPress博客程序是目前互联网上使用最多的独立博客程序.深受广大博主和wordpress爱好者喜爱.自身也用了两年多时间了,相信很多朋友在使用wordpress中和我当初一样也碰到了很多问题,接下来的一系列原创经验,将为大家解决在使用wordpress中经常碰到的问题. 我们知道,独立博客必须拥有自己的域名和主机,我们的wordpress博客程序是放在服务商的主机上的,wordpress博客程序是用PHP程序开发的,但是有些主机是不支持php的mail()函数,这样当读者在我们的博客上留

WordPress中Ajax评论分页实现方法

一.准备 加载 jQuery 库,这个不解释了.  二.开启 WordPress 评论分页 打开 WordPress 后台 – 设置 – 讨论,在"其他评论设置"中勾选分页显示评论,设置一下评论数目,这里的评论数目仅计算主评论,回复评论不作计算.这里 Kayo 填了比较大的数字(15),因为评论分页分得太细会使用户不便于阅读之前的评论.  在后台开启评论分页后,在 comments.php 中需要添加分页导航的地方加入以下代码(如主题中有类似代码则无须再添加,另外代码中的 nav 标签

在安卓系统中插入表情到光标位置的代码详解_java

前言    之前写的一个Android应用,在回复帖子插入表情的时候存在一个BUG,就是无法在EditText中指定的光标处插入表情字符串,每次添加的表情字符串都跑到了文字末尾.分析了一下apk源码,发现是在表情盘的onClick响应事件中没有正确处理表情字符串的添加方法,这里记录一下如何在EditText指定光标处插入表情字符串. EditText光标处插入表情字符串的方法    既然是在EditText控件中插入表情字符串,那首先需要获取EditText控件对象,示例源码如下: EditTe

编码-mysql数据库想支持emoji表情可不可以不改数据库的字符集

问题描述 mysql数据库想支持emoji表情可不可以不改数据库的字符集 现在手上有个bug,是ios端的emoji表情插不进数据库的问题,在网上查了很久都说要改数据库的字符集. 可是dba说改库的字符集代价太多还给我回复:mysql的字符集设置有 连接字符集,客户端字符集,默认字符集,表和字段的字符集: 所以只需要把存储emoji表情字符的表或字段字符集改为utf8mb4就可以存储:但是需要读取和存储需要确保连接也指定字符集为utf8mb4: 请确认表或字段是否已修改完全,同时连接配置是否正确

wordpress后台添加顶级菜单和子菜单的实例

在 wordpress 插件.主题等制作过程中,经常需要在后台添加菜单,今儿分享一下在 wordpress 后台侧边栏添加顶级菜单的方法,也算加深一下印象吧,用到的函数是:add_menu_page() 函数用法: add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position ); 下面说说各参数: $page_title:(字符串) (必须) 这个参数是子菜单的