【wordpress主题】实现wordpress后台回复评论支持插入表情

更新时间:2019-09-25    来源:WordPress    手机版     字体:

【www.bbyears.com--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;
    ?>
        javascript:grin(":?:")">
       
       
       
       
       
        ps:")">
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
    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, "
");

        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();
    }
}


效果如下:

140101-comment-smiley

本文来源:http://www.bbyears.com/wangyezhizuo/69446.html