颜文字是一种神奇的文字,它仅仅用几个符号,就能表现出很多表情,让人一看就懂。
很多输入法已经支持颜文字的输入了,但是,博主在用的微软输入法却迟迟不肯加入颜文字(PS:其实还是有的,但是非常少)。本来我们还可以用微软输入法的 `Z
快捷键来输入,但是…不支持符号啊我摔(╯°口°)╯(┴—┴
这里博主介绍如何不用插件,不修改原文件,只修改主题文件就为 WordPress 的 TinyMCE 编辑器添加颜文字按钮 (`・ω・´)
TinyMCE 编辑器是 WordPress 默认的富文本编辑器,如果你没有换成其他编辑器的话,只需要添加几段代码和一个 js 文件就能做到和博主一样的效果。
首先,我们需要编辑当前主题的 functions.php
文件。
<?php add_action( 'init', 'clrs_add_new_mce_buttons' ); // 上面的函数名要和下面的函数名匹配 function clrs_add_new_mce_buttons () { // 判断用户是否有使用编辑器的权限 if ( ! current_user_can( 'edit_posts' ) && ! current_user_can( 'edit_pages' ) ) { return; } // 判断用户是否使用可视化编辑器 if ( get_user_option( 'rich_editing' ) === 'true' ) { add_filter( 'mce_external_plugins', 'clrs_add_mce_plugin' ); add_filter( 'mce_buttons', 'clrs_mce_register_buttons' ); // 上面两处的函数名也要和下面的匹配 } // 加载可视化编辑器外部CSS文件 function clrs_load_mce_out_style () { wp_enqueue_style( 'mce-style', get_template_directory_uri() . '/editor.css' ); // 该样式文件用于显示dashicon图标 } add_action( 'admin_enqueue_scripts', 'clrs_load_mce_out_style' ); } function clrs_mce_register_buttons ( $buttons ) { array_push( $buttons, "facial" ); // 若想添加多个按钮,就多几个array_push return $buttons; } function clrs_add_mce_plugin ( $plugin_array ) { $plugin_array['facial'] = get_stylesheet_directory_uri() . '/js/facial/plugin.min.js'; // 颜文字按钮的js路径,博主这里是放在了主题文件夹里,可以修改js的路径 // $plugin_array['mylink'] = plugins_url( '/plugin.js', __FILE__ ); // mylink按钮的js路径,默认地址为\wp-includes\js\tinymce\plugins\ return $plugin_array; }
这样我们就把 functions.php
编辑完了,接下来我们需要编辑 js 文件。
博主这里 js 文件路径是 /主题/js/facial/plugin.min.js
更新:由于博主对 TinyMCE 编辑器不是很懂,不过经过博主下午的奋斗,进一步缩小了 plugin.min.js
的大小,并且更容易定制自己的颜文字包。js 可以用 js 压缩工具把 js 文件压缩为 min.js,体积没减少多少(´・_・`),本来就不大了嘛╮( ̄▽ ̄)╭
现在可以把颜文字添加在第一行 facial
的后面,颜文字间用英文逗号隔开。但是注意颜文字里不要有英文逗号,不然会出错。
但是打开的窗口的高度没办法自动增加,所以还需要使用者手动增加打开的窗口的高度。
其实是我实在搞不定了,重写太麻烦,能用就好了(〜 ̄△ ̄)〜
若您有更好的解决办法,请联系我,谢谢。
也可以通过下面的方法自己写属于自己的按钮,只需要把里面的 facial
换成你想用的名称就好了( ̄▽ ̄)
(function () { var facial = '(⌒▽⌒),( ̄▽ ̄),(=・ω・=),(`・ω・´),(〜 ̄△ ̄)〜,(・∀・),(°∀°)ノ,( ̄3 ̄),╮( ̄▽ ̄)╭,( ´_ゝ`),←_←,→_→,(;¬_¬),("▔□▔)/,(゚Д゚≡゚д゚)!?,Σ(゚д゚;),Σ(  ̄□ ̄||),(´;ω;`),(/TДT)/,(^・ω・^ ),(。・ω・。),(● ̄(エ) ̄●),ε=ε=(ノ≧∇≦)ノ,(´・_・`),(-_-#),( ̄へ ̄),( ̄ε(# ̄) Σ,ヽ(`Д´)ノ,(╯°口°)╯(┴—┴,(#-_-)┯━┯,_(:3」∠)_,(笑),(汗),(泣),(苦笑)'; var facials = facial.split(","), str = '['; for (var i = 0; i < facials.length; i++) { str += "{ text: '" + facials[i] + "', style: 'float: left; margin: 3px;', onclick: function () { e.insertContent(this.text()); e.windowManager.close(); } },"; } str = str.substring(0, str.length - 1) + ']'; tinymce.PluginManager.add('facial', function (e, url) { var obj = eval('(' + str + ')'); e.addButton('facial', { title: '(・ω・ )颜文字', icon: 'icon dashicons-smiley', type: 'button', onclick: function () { e.windowManager.open({ title: '(・ω・ )颜文字', width: 700, height: 220, buttons: [{text: '取消', onclick: 'close'}], body: [{ type: 'buttongroup', items: obj }] }); } }); }); })();
上面是未压缩版,下面是压缩版 js:
(function(){var facial='(⌒▽⌒),( ̄▽ ̄),(=・ω・=),(`・ω・´),(〜 ̄△ ̄)〜,(・∀・),(°∀°)ノ,( ̄3 ̄),╮( ̄▽ ̄)╭,( ´_ゝ`),←_←,→_→,(;¬_¬),("▔□▔)/,(゚Д゚≡゚д゚)!?,Σ(゚д゚;),Σ(  ̄□ ̄||),(´;ω;`),(/TДT)/,(^・ω・^ ),(。・ω・。),(● ̄(エ) ̄●),ε=ε=(ノ≧∇≦)ノ,(´・_・`),(-_-#),( ̄へ ̄),( ̄ε(# ̄) Σ,ヽ(`Д´)ノ,(╯°口°)╯(┴—┴,(#-_-)┯━┯,_(:3」∠)_,(笑),(汗),(泣),(苦笑)';var facials=facial.split(","),str="[";for(var i=0;i<facials.length;i++){str+="{ text: '"+facials[i]+"', style: 'float: left; margin: 3px;', onclick: function () { e.insertContent(this.text()); e.windowManager.close(); } },"}str=str.substring(0,str.length-1)+"]";tinymce.PluginManager.add("facial",function(e,url){var obj=eval("("+str+")");e.addButton("facial",{title:"(・ω・ )颜文字",icon:"icon dashicons-smiley",type:"button",onclick:function(){e.windowManager.open({title:"(・ω・ )颜文字",width:700,height:220,buttons:[{text:"取消",onclick:"close"}],body:[{type:"buttongroup",items:obj}]})}})})})();
我们继续在当前主题目录下添加一个 editor.css
文件,用于显示图标和杀死虫子。
博主这里 css 文件路径是 /主题/editor.css
i.mce-i-icon { padding: 0; font: 400 20px/1 dashicons; vertical-align: top; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .mce-btn-group:not(:first-child) { border: none !important; }
就是这 3 个文件,你就可以添加一个颜文字按钮,随意地输入颜文字了( ̄3 ̄)
参考链接:https://www.gavick.com/blog/wordpress-tinymce-custom-buttons/
原创文章,转载请以链接形式注明出处:https://blog.ttionya.com/article-793.html