【WordPress】WP表情插件-Custom Smilies图片变成叉叉烧包无法显示地址中空格被下划线取代问题

今天装了Custom Smilies (By Crazy Loong) 插件,可是却发现表情图片都变成了叉烧包,右键点属性,发现图片地址中本来是空格的莫名其妙变成了下划线:’_’

打开插件文件,找到cs_save_smilies函数,再往上找,是cs_save_smilies($_POST);看来可能并不是这个插件的bug,那我们就在cs_save_smilies函数这里动点手脚吧

1.进入后台,编辑插件,(Plugins – Editor)
(也可以用ftp软件编辑、下载下来编辑好再上传、通过WebShell编辑等)
2.打开common.inc.php文件
3.找到cs_save_smilies函数的定义(找到下面这段代码)

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
// save smilies to file
function cs_save_smilies($array) {
    if (!is_array($array)) {
        return;
    }
 
    foreach ($array as $k => $v) {
        // sanitize smilies: remove \ ' " and trim whitespaces
        $array[$k] = trim(str_replace(array('\'','\\', '"'), '', $v));
    }
 
    $array = array_flip($array);
    $array4db = array();
 
    foreach ($array as $k => $v) {
        // sanitize smilies file name
        $array[$k] = $v = str_replace('|', '.', $v);
        if (!in_array($v, array('update-smilies', 'page')) && !in_array($k, array('', 'QAD'))) {
            $array4db[$k] = $v;
        }
    }
 
	update_option('clcs_smilies', $array4db);
 
    return $array;
}

4.在

1
$array[$k] = $v = str_replace('|', '.', $v);

后面添加:

1
$array[$k] = $v = str_replace('_', ' ', $v);

5.别忘了最后一步,一定要更新你的表情才有效:进入博客后台Smilies设置页面,点击Update

注意:笔者写这篇文章时,Custom Smilies最新版本为2.9.1


One thought on “【WordPress】WP表情插件-Custom Smilies图片变成叉叉烧包无法显示地址中空格被下划线取代问题

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>