本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 [署名 4.0 国际 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/deed.zh) 本文作者: 苏洋 创建时间: 2009年05月11日 统计字数: 2423字 阅读时间: 5分钟阅读 本文链接: https://soulteary.com/2009/05/11/wordpresshighslide4wp-hotfix.html ----- # [WordPress]highslide4wp 插件补充 [![hs4wp](https://attachment.soulteary.com/2009/05/11/hs4wp.png "hs4wp")](https://attachment.soulteary.com/2009/05/11/hs4wp.png) http://www.neoease.com/highslide4wp/ MG的这个插件很不赖,对于俺来说,如果显示图的话,我宁可用lightbox,萝卜青菜各有所爱。 但是表情用这个来show很炫滴... 似乎有些人出现了这个问题吧。 ```text Warning: Invalid argument supplied for foreach() in wp-content/plugins/highslide4wp/toys.php on line 8 ``` 很不幸的是,我也遇到了这个问题...看似是数据类型不正确...去PK这个变量吧 于是将修改为但是发现还是有问题... 翻看wp的表情转换函数, ```php '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', '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', ); } $siteurl = get_option( 'siteurl' ); foreach ( (array) $wpsmiliestrans as $smiley => $img ) { $wp_smiliessearch[] = '/(\s|^)' . preg_quote( $smiley, '/' ) . '(\s|$)/'; $smiley_masked = attribute_escape( trim( $smiley ) ); $wp_smiliesreplace[] = "$smiley_masked"; } } ?> ``` 看到下面的句子了吧,如果没有打开表情自动转换的话...那么你的数组=Null...自然报错如果你还是不想打开表情自动转换的话,那么将添加到出错的函数内...使用的是没问题了,但是呢,评论表情是不会转换的。 如果你使用MG的这个主题的话,那么这样修改一下吧[comments.php文件]如果你只想使用这个炫炫的表情展开特效,可以这么做 替换highslide4wp.php内的函数 ```php $grin) { if (!in_array($grin, $smiled)) { $smiled[] = $grin; $tag = str_replace(' ', '', $tag); $emoticons .= ''.$tag.''; } } $highslide_emoticon = '选择一个表情';
$highslide_emoticon .= $emoticons; $highslide_emoticon .= '
';
 echo $highslide_emoticon;
}

function highslide_head() {
 $siteurl = get_option( 'siteurl' );
 print('');
}
add_action('wp_head', 'highslide_head');

?>
```