出于上面想法的考虑,最终还是给主题添加了这个功能,下面是相关的实现方法。
[mark_b]
由于该功能调用的是主题评论区的表情包,而不同主题对于表情包的调用、路径和命名各有不同。因此,使用其他主题的童鞋请根据自己主题的表情包路径修改。
[/mark_b]
添加方法
首先:打开主题根目录下的【functions.php】文件,在最后一个}
前添加代码
// 编辑器添加表情 function fa_get_wpsmiliestrans(){ global $wpsmiliestrans; $wpsmilies = array_unique($wpsmiliestrans); foreach($wpsmilies as $alt => $src_path){ $output .= '<a class="add-smily" data-smilies="'.$alt.'"><img class="wp-smiley" src="'.get_bloginfo('template_directory').'/img/smilies/'.rtrim($src_path, "gif").'gif" /></a>'; } return $output; } add_action('media_buttons_context', 'fa_smilies_custom_button'); function fa_smilies_custom_button($context) { $context .= '<style>.smilies-wrap{background:#fff;border: 1px solid #ccc;box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.24);padding: 10px;position: absolute;top: 60px;width: 290px;display:none}.smilies-wrap img{height:24px !important;width:24px !important;cursor:pointer;margin-bottom:5px} .is-active.smilies-wrap{display:block}</style><a id="insert-media-button" style="position:relative" class="button insert-smilies add_smilies" title="添加表情" data-editor="content" href="javascript:;"> 添加表情 </a><div class="smilies-wrap">'. fa_get_wpsmiliestrans() .'</div><script>jQuery(document).ready(function(){jQuery(document).on("click", ".insert-smilies",function() { if(jQuery(".smilies-wrap").hasClass("is-active")){jQuery(".smilies-wrap").removeClass("is-active");}else{jQuery(".smilies-wrap").addClass("is-active");}});jQuery(document).on("click", ".add-smily",function() { send_to_editor(" " + jQuery(this).data("smilies") + " ");jQuery(".smilies-wrap").removeClass("is-active");return false;});});</script>'; return $context; }
然后:打开【style.css】文件,找到代码
.wp-smiley { height: 24px !important; max-height: 24px !important; display: inline !important; }
将其修改为
.wp-smiley { display: inline!important; height: 1.5em !important; max-height: 1.5em !important; }
[mark_c]
- 若不修改的话,前台显示出来会比正常的文字小一些
- 如果你的主题本身就没有表情样式的话,就直接添加修改后的样式,或根据该样式自行调整
[/mark_c]
最后:进入文章发布页面,在文章编辑器的上方可以看到多了一个【添加表情】的按钮,点击该按钮会显示表情,点击要添加的表情即可插入到文章中了。
下面是表情在前台的展示效果:
继续阅读
如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!