搜索
Hi~登录注册
查看: 1601|回复: 0

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

[复制链接]

1892

主题

1899

帖子

6406

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6406
发表于 2015-5-14 13:48:15 | 显示全部楼层 |阅读模式
个人喜欢在评论的时候带表情,当然本人的小站评论回复也一样,下面是我实现在wordpress后台回复评论插入表情的方法,有兴趣的朋友可以看下。
</div><p>下面是简单明了(自大)的步骤方法:<br />
<br />
<strong>1. functions.php 部分(就是把下面的代码扔 functions.php)</strong><br />
<br />
//////// 获取表情按钮,源码 willin 改进 zwwooooo<br />
function zfunc_smiley_button($custom=false, $before='', $after=''){<br />
&nbsp;&nbsp;&nbsp; if ($custom==true)<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $smiley_url=get_template_directory_uri().'/images/smilies';<br />
&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $smiley_url=site_url().'/wp-<a href="/tags.php/include/" target="_blank">include</a>s/images/smilies';<br />
&nbsp;&nbsp;&nbsp; echo $before;<br />
&nbsp;&nbsp;&nbsp; ?&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;<a href="/js_a/js.html" target="_blank">javascript</a>:grin(':?:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_question.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':razz:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_razz.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':sad:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_sad.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':evil:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_evil.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':!:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_exclaim.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':smile:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_smile.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin('o<a href="/fw/photo.html" target="_blank">ps</a>:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_redface.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':grin:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_biggrin.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':eek:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_surprised.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':shock:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_eek.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':???:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_confused.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':cool:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_cool.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_lol.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':mad:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_mad.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':twisted:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_twisted.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':roll:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_rolleyes.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':wink:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_wink.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':idea:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_idea.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':arrow:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_arrow.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':neutral:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_neutral.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':cry:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_cry.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;a href=&quot;javascript:grin(':mrgreen:')&quot;&gt;&lt;img src=&quot;&lt;?php echo $smiley_url; ?&gt;/icon_mrgreen.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;<br />
&lt;?php<br />
&nbsp;&nbsp;&nbsp; echo $after;<br />
}<br />
<br />
//////// Ajax_data_zfunc_smiley_button by zwwooooo<br />
function Ajax_data_zfunc_smiley_button(){<br />
&nbsp;&nbsp;&nbsp; if( isset($_GET['action'])&amp;&amp; $_GET['action'] == 'Ajax_data_zfunc_smiley_button'&nbsp; ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; nocache_headers();<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; zfunc_smiley_button(false, '&lt;br /&gt;');<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; die();<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
add_action('init', 'Ajax_data_zfunc_smiley_button');<br />
<br />
//////// 后台回复评论支持表情插入 by zwwooooo<br />
function zfunc_admin_enqueue_scripts( $hook_suffix ) {<br />
&nbsp;&nbsp;&nbsp; wp_enqueue_script( 'zfunc-comment-reply', get_template_directory_uri() . '/admin_reply.js', false, 'by-zwwooooo' );<br />
}<br />
add_action( 'admin_print_styles', 'zfunc_admin_enqueue_scripts' );<br />
<br />
<strong>2. 然后是在所用主题目录里面新建 admin_reply.js,内容如下:</strong><br />
<br />
///// 适用于 WordPress 3.8,如果较老版本请把 #comments-form 替换为 #icon-edit-comments,或者干脆把第4行和第11行删除/注释掉。<br />
jQuery(document).ready(function($){<br />
&nbsp;&nbsp;&nbsp; var data_zfunc_smiley_button='';<br />
&nbsp;&nbsp;&nbsp; if ($('#comments-form').length) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $.get('./?action=Ajax_data_zfunc_smiley_button',<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; function (data) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; data_zfunc_smiley_button=data;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $('#qt_replycontent_toolbar input:last').after(data_zfunc_smiley_button);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; );<br />
&nbsp;&nbsp;&nbsp; }<br />
});<br />
<br />
function grin(tag) {<br />
&nbsp;&nbsp;&nbsp; var myField;<br />
&nbsp;&nbsp;&nbsp; tag = ' ' + tag + ' ';<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (document.getElementById('replycontent') &amp;&amp; document.getElementById('replycontent').type == '<a href="/tags.php/textarea/" target="_blank">textarea</a>') {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; myField = document.getElementById('replycontent');<br />
&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return false;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; if (document.<a href="/tags.php/select/" target="_blank">select</a>ion) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; myField.focus();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sel = document.selection.createRange();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sel.text = tag;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; myField.focus();<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; else if (myField.selectionStart || myField.selectionStart == '0') {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; var startPos = myField.selectionStart;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; var endPos = myField.selectionEnd;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; var cursorPos = endPos;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; myField.value = myField.value.<a href="/tags.php/substr/" target="_blank">substr</a>ing(0, startPos)<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; + tag<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; + myField.value.substring(endPos, myField.value.length);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cursorPos += tag.length;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; myField.focus();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; myField.selectionStart = cursorPos;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; myField.selectionEnd = cursorPos;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; else {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; myField.value += tag;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; myField.focus();<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
<br />
<br />
效果如下:<br />
<br />
<img  width="532" height="385" class="alignnone size-full wp-image-26016" alt="140101-comment-smiley" src="/get_pic/2015/02/05/20150205223431657.png" />
公众微信:idc5ahl
公众QQ:吾爱互联
关注公众微信,公众QQ每天领现金卡密
卡密介绍(http://www.5ahl.com/thread-2182-1-1.html
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 点我注册

快速回复 返回顶部 返回列表