文章编辑器添加表情

  • A+
所属分类:建博笔记
摘 要

一般的主题都会集成评论区表情功能,但很少有主题会集成文章表情功能,可能是考虑到文章中添加表情用的不多吧。我自己也是,偶尔有想用的时候,不过大多数时候并不怎么需要该功能。不过作为一个功能,无非就是多了几行代码而已,大不了在后台选择关闭该功能,这样也不影响网页的加载速度。

出于上面想法的考虑,最终还是给主题添加了这个功能,下面是相关的实现方法。

由于该功能调用的是主题评论区的表情包,而不同主题对于表情包的调用、路径和命名各有不同。因此,使用其他主题的童鞋请根据自己主题的表情包路径修改。

添加方法

首先:打开主题根目录下的【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;
}

  • 若不修改的话,前台显示出来会比正常的文字小一些
  • 如果你的主题本身就没有表情样式的话,就直接添加修改后的样式,或根据该样式自行调整

最后:进入文章发布页面,在文章编辑器的上方可以看到多了一个【添加表情】的按钮,点击该按钮会显示表情,点击要添加的表情即可插入到文章中了。

 

下面是表情在前台的展示效果:

:mrgreen: :neutral: :twisted: :arrow: :shock: :smile: :???: :cool: :evil: :grin: :idea: :oops: :razz: :roll: :wink: :cry: :eek: :lol: :mad: :sad: :!: :?:

若文章图片、下载链接、网盘密码等信息出错,请留言反馈,博主将第一时间更新!如果喜欢,请打赏支持本站,谢谢大家!
isdola

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: