WordPress更新为3.7出现Warning sprintf function.sprintf

今天看到更新通知,WordPress升级到了3.7。更新为3.7后却出现了一个问题:「Warning: sprintf() [function.sprintf]: Too few arguments in /home/***/public_html/wp-admin/theme-editor.php on line 33」

打开这个theme-editor.php,在33行发现代码是如此的

<p>' . sprintf( __('Upgrading to a newer version of the same theme will override changes made here. To avoid this, consider creating a <a href="%s" target="_blank">child theme</a> instead.'), __('http://codex.wordpress.org/Child_Themes') ) . '</p>' .

这行代码过少,总起来意思是如果修改主题时,如果在父主题上直接修改,主题的更新会把修改过的地方又重置。因此为了避免这种情况,建议使用子主题修改。

对比了WordPress 3.6 的theme-editor.php,发现33行的代码是这样的

<p>' . __('Upgrading to a newer version of the same theme will override changes made here. To avoid this, consider creating a <a href="http://codex.wordpress.org/Child_Themes" target="_blank">child theme</a> instead.') . '</p>' .

其实另一站点上午也升级过3.7,但是英文版,当时中文版未出。升级完毕并未出现这种情况。

两者最大的差异在于a href="%s"。我想这个代码的意思是显示为中文,可惜这一行及其周围的代码只是主题修改时的帮助文件说明,无多大实际作用。

不管它了,把3.7这行代码改成了如下这样,问题就没再出现

<p>' . sprintf( __('Upgrading to a newer version of the same theme will override changes made here. To avoid this, consider creating a <a href="http://codex.wordpress.org/Child_Themes" target="_blank">child theme</a> instead.') ) . '</p>' .

  • 本博客文章如未特别说明,皆为本站原创,默认采用署名-相同方式共享 4.0 国际协议
  • 相关文章

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用 * 标注