WordPress中添加自定义评论表情包的方法
先来看看效果:

现在由于WordPress版本更新,再加上WordPress主题也越来越多,而现在的主题一般都是禁用了WordPress自带的评论表情,其实自带
的评论表情也是很丑的,但是以前我们可以自由地启用自带的评论表情或者自定义评论表情,而现在我们很多的主题都没办法添加,网上很多的教程都过时了,都说
的是什么打开你目前使用主题的comments.php文件,在
|
1
|
textarea name="comment" |
前面加
|
1
|
<?php include(TEMPLATEPATH . '/includes/smiley.php'); ?> |
而我想说的就是现在主题的comments.php文件中根本就找不到textarea name=”comment”这句代码,不过我不甘心,折腾了好几天,终于自己琢磨出来了解决的办法。
工具:三套表情包和smiley.php文件。下载地址:http://yunpan.cn/cFw8Gz6vrDHZT 访问密码 cb83
再给大家添加一个QQ表情包:http://yunpan.cn/cLw6UhwB865Eg 访问密码 af61

在三款主题包中选择你喜欢的一款,将所在的文件夹重名为smilies
,然后重新压缩起来,然后打开你的cpanel面板,找到你主题的这个路径public_html/wp-content/themes/[你主题的名
字]/images,注意有的主题下面只有一个img文件夹,没有images文件夹,我的就是这样,没关系,没有我们就自己新建一个,

然后进入这个文件夹点击上面的“上传”,然后找到自己压缩好的smilies文件夹上传即可。

上传好之后在压缩包上面右击,点击解压缩

完成后如下图,

找到你主题的这个路径public_html/wp-content/themes/[你主题的名字]/includes,注意,有的主题没有这个文件夹,我的就是,我们还是同样新建一个文件夹,

然后将smiley.php上传到主题的includes文件夹下(当然可以放在其他文件夹,不过要改动下面相关代码)。
找到你主题的这个路径public_html/wp-content/themes/[你主题的名字],在comments.php文件上右击,然后选择Edit。(当然也可以在WordPress后台外观——编辑中找到comments.php文件进行修改。)

然后就是这一步,网上很多教程说在
|
1
|
textarea name="comment" |
前面加
|
1
|
<?php include(TEMPLATEPATH . '/includes/smiley.php'); ?> |
而我想发现现在很多主题的comments.php文件中根本就找不到textarea name=”comment”这句代码,不过最先面有一句代码
|
1
|
<?php if ( comments_open() ) { comment_form(); } ?> |
里面的 comment_form(); 指的就是整个评论表单,

而textarea name=”comment”指的其实就是表单<form>中的评论内容区域

就是因为找不到textarea name=”comment”,所以我们无法像以前那样把评论表情添加到“站点”和“评论”的中间,但是我们可以添加到整个表单comment_form(); 的前面或者后面,当然后面要好看一点,于是我就在
|
1
|
<?php if ( comments_open() ) { comment_form(); } ?> |
后面加上了
|
1
|
<?php include(TEMPLATEPATH . '/includes/smiley.php'); ?> |
点击右上角的保存,然后再打开functions.php文件,将
|
1
2
3
|
//自定义表情路径function custom_smilies_src($src, $img){return get_bloginfo('template_directory').'/images/smilies/' . $img;}add_filter('smilies_src', 'custom_smilies_src', 10, 2); |
添加到<?php和?>之间,这一段代码据说是为了防止因为WordPress的升级覆盖我们配置好了的评论表情,虽然不知道这段代码到底能不能起作用,但是还是把这段代码加进去好点。
现在刷新一下页面就已经可以看见评论表情出来了,当时我还是很高兴,以为这就成功了,但是我自己随便发了一条表情评论,居然出来的表情和我上传的表情是不一样的。

这是什么原因呢,那么这些不一样的图片有来自那里呢。我打开cpanel面板找到了自带的表情public_html/wp-includes
/images/smilies,但是我发现不是这里的表情,这有点奇怪了,于是我打开按了F12审查元素,找到了原因,图片原来是来自于一个国外的网
站,

而且因为我是把FQ的打开的所以图片才能够加载出来,不然图片根本就显示不出来。
那么我添加的图片和显示出来的图片为什么会不一样呢。我百度了一下终于找到解决办法了

然后我在http://www.wpdaxue.com/disable-emoji.html这里找到了方法,分为两步:
1.禁用 Emoji 表情:
在主题的 functions.php 添加代码的代码即可:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
/*** Disable the emoji's */function disable_emojis() { remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );}add_action( 'init', 'disable_emojis' );/** * Filter function used to remove the tinymce emoji plugin. * * @param array $plugins * @return array Difference betwen the two arrays */function disable_emojis_tinymce( $plugins ) { return array_diff( $plugins, array( 'wpemoji' ) );} |
2.恢复之前的图片表情:
在主题的 functions.php 添加代码的代码即可:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
<?php/** * WordPress 4.2 修复图片表情 * http://www.wpdaxue.com/disable-emoji.html */function smilies_reset() { global $wpsmiliestrans, $wp_smiliessearch; // don't bother setting up smilies if they are disabled if ( !get_option( 'use_smilies' ) ) return; $wpsmiliestrans = array( ':mrgreen:' => 'icon_mrgreen.gif', ':neutral:' => 'icon_neutral.gif', ':twisted:' => 'icon_twisted.gif', ':arrow:' => 'icon_arrow.gif', ':shock:' => 'icon_eek.gif', ':smile:' => 'icon_smile.gif', ':???:' => 'icon_confused.gif', ':cool:' => 'icon_cool.gif', ':evil:' => 'icon_evil.gif', ':grin:' => 'icon_biggrin.gif', ':idea:' => 'icon_idea.gif', ':oops:' => 'icon_redface.gif', ':razz:' => 'icon_razz.gif', ':roll:' => 'icon_rolleyes.gif', ':wink:' => 'icon_wink.gif', ':cry:' => 'icon_cry.gif', ':eek:' => 'icon_surprised.gif', ':lol:' => 'icon_lol.gif', ':mad:' => 'icon_mad.gif', ':sad:' => 'icon_sad.gif', '8-)' => 'icon_cool.gif', '8-O' => 'icon_eek.gif', ':-(' => 'icon_sad.gif', ':-)' => 'icon_smile.gif', ':-?' => 'icon_confused.gif', ':-D' => 'icon_biggrin.gif', ':-P' => 'icon_razz.gif', ':-o' => 'icon_surprised.gif', ':-x' => 'icon_mad.gif', ':-|' => 'icon_neutral.gif', ';-)' => 'icon_wink.gif', // This one transformation breaks regular text with frequency. // '8)' => 'icon_cool.gif', '8O' => 'icon_eek.gif', ':(' => 'icon_sad.gif', ':)' => 'icon_smile.gif', ':?' => 'icon_confused.gif', ':D' => 'icon_biggrin.gif', ':P' => 'icon_razz.gif', ':o' => 'icon_surprised.gif', ':x' => 'icon_mad.gif', ':|' => 'icon_neutral.gif', ';)' => 'icon_wink.gif', ':!:' => 'icon_exclaim.gif', ':?:' => 'icon_question.gif', );}smilies_reset(); |
这两个步骤一个都不能少,添加后我们再次刷新一下页面,发现原来不一样的表情没有了,上面和下面的表情都变成了我自己添加的表情。我想这里的原理应该是一个优先级的问题,就是WordPress自带评论表情的优先级高于我们自定义的评论表情,所以才会出现这种情况

如果你还想给表情添加上提示文字,就打开smiley.php文件修改一下

不过我经过测试,发现不能在本地修改后上传到cpanel面板,因为本地修改后再上传就不是UTF-8格式的了,就会出现乱码

所以应该直接在cpanel面板中进行修改,因为它是符合UTF-8格式的

修改后保存即可。因为他的图片名字和表情其实是不一样的,所以这里我就没有添加提示信息。
弄了几天终于弄好了,虽然不能像有的网站一样把表情添加到站点和评论之间而只能添加到整个表单的上面或者下面,但是只要能实现功能还是不错的,我发现网上
很多人都和我存在一样的问题,就是找不到textarea
name=”comment”这一句代码,所以我在这里给出解决的办法。希望对你们能够有所帮助。
WordPress中添加自定义评论表情包的方法的更多相关文章
- 【转】Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
原文网址:http://www.blogjava.net/anchor110/articles/355699.html 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来.2.将引用的第三方包,添 ...
- python中常用的导包的方法和常用的库
python中常用的导包的方法 导入包和包名的方法:1.import package.module 2.from package.module import * 例一: ...
- 项目中使用emoji表情包与表情的解析过程详情
菜鸡一只,刚开始写博客文笔不好,有问题欢迎相互讨论.闲话不多说. 用到了三个插件 Emoji Picker 第一步 这个emoji表情包插件是我找到比较好 的一个,input框中是不能放入图片的,效果 ...
- 如何在asp.net mvc中添加自定义的HTML辅助种方法
很久没在博客园发表文章了,今天来总结一下如何在asp.net mvc中添加自定义的HTML辅助方法.我们现在设计这么一个目前,利用自定义的HTML方法来渲染一个普通的img标记.直接进入主题吧: 首先 ...
- Ubuntu系统中安装RPM格式包的方法
Ubuntu的软件包格式为deb,而RPM格式的包则是Red Hat 相关系统所用的软件包.当我们看到一个想用的软件包时,如果他是RPM格式,而你的操作系统是Ubuntu,那岂不是很遗憾?其实,在Ub ...
- eclipse项目中丢失的R包找回方法
当我们项目中的R文件丢失的时候会令我们痛苦不已,怎样找回呢?总不能删了吧,那样心血会毁于一旦的,我们肯定不会那样做,那要怎么办呢?我这里提供三种方法: 一,一般情况下这样: 方法一:选中 ...
- Spyer中添加一些常用包的方法
我用的是Anaconda中的Spyer编译,在导入包pyaudio时,发现找不到,需要手工导入.可以打开Anacoda promt,查看已经安装的包名用:pip list Spyer中的所有包在这里安 ...
- 关于在Andoird集成开发软件中添加外部jar包的方法
步骤必须是下面的两步,少一步都不行. 第一步是存放于项目中,第二步是导入和应用于项目中. 1.右键项目-Build Path-Configure Build Path-在Libraries目录下-点右 ...
- 在maven中引入本地jar包的方法
一.第一种方式: 1.电脑安装maven 2.下载jar.例如 gj.jar 3.把jar随便放一个位置 4.在jar包目录下打开cmd输入: mvn install:install-file -Df ...
随机推荐
- 端到端测试工具--testcafe
写在前面 随着业务的增加,复杂性的增加,我们更需要保证页面不能出错,之前需要每次上线之前需要每次人工测试,如果有好多改动,为保证业务不出错,需要耗费更多的时间来测试,所以我们需要写一些测试来保证业务的 ...
- Python 练习册,每天一个小程序----第0000题
题目 第 0000 题: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果 Code: from PIL import Image,Imag ...
- qt 如何安装 Debuggers 调试器 ?
1.下载 SDK 或 WDK 打开网址:https://developer.microsoft.com/zh-cn/windows/hardware/windows-driver-kit 选择 SDK ...
- poj Hotel 线段树
经典线段树的题. 每个节点存储的信息:左端点连续空房间的长度,右端点连续空房间长度,连续空房间的最大长度. 由于要求每次必须从尽量靠左边的位置进行居住,那么搜索时应尽量让区间起始位置更小: 1.如果当 ...
- Luogu P1522 牛的旅行 Cow Tours
题目描述 农民 John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧区通过任何路径都不连通.这样,Farmer John就有多个 ...
- 深刻理解iosBlock
深刻理解iosBlock ///一个控制器里的方法 - (void)setRefreshHeader { ACWeakSelf(self); self.tableView.mj_header = [M ...
- 沉淀,再出发——在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享
在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享 一.工作准备 首先,明确工作的重心,在Ubuntu Kylin15.04中配置Hadoop集群,这里我是用的双系统中的 ...
- 关于VS2013调试IIS应用源代码时无法进入断点的问题总结
调试无法进入断点 前言:今天再次遇到之前调试无法进入断点的问题,本来想不写呢觉得没什么只是又犯了同样的错误,但是我发现这个问题我分析起来还是挺费劲的,我仔细想了想原因, 是因为自己对之前的错误没有进行 ...
- 查看dmp文件
1.查看dmp文件,首先要通过以下的链接地址进行下载 http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.11.1.404.m ...
- windows下使用docker安装tensorflow
一.安装Docker 1.首先先按照docker,从https://get.daocloud.io/toolbox/ 下载exe文件就好 双击安装会多出来三个东西: Oracle VM Virtua ...