[存档,分享]
WordPress报错内容: Notice: Undefined index: widget_id in ..\wp-includes\default-widgets.php on line 528
错误触发条件:(本问题多为在提交主题前的调试中遇到)
开启 wp-config.php 中的
define('WP_DEBUG', true);
sidebar.php 或者任意地方调用 the_widget(); 且没有赋予 widget_id 参数就会警告。
这真的是一个小问题,本来根本不会出这个警告的,谁叫WordPress the_widget官方文档 里不会提到触发Notice 的错误呢,搜索到另一个老外调试主题也遇到了这个问题 here 。而且网上没有解决办法,于是我看了 default-widgets.php 的参数,立马石化,发现原来文档参数写的不全。
解决方法:
调用 the_widget 时务必将参数加全,否则尽管不影响主题正常使用,但是提交带有警告的主题给WordPress官方是不可行的。
<?php the_widget('WP_Widget_Recent_Posts', 'number=5&title=21212', 'before_title=<h3 class="widget_title">&after_title =</h3>&widget_id=1234'); ?>
<?php the_widget('WP_Widget_Recent_Comments', 'number=5&title=21212', 'before_title=<h3 class="widget_title">&after_title =</h3>&widget_id=1235'); ?>
就是这个 &widget_id=1234 缺失导致的问题的出现。

沙发!嘿嘿!
官方文档感觉有些很偷懒,主题审核又要高要求有不提供完整的函数说明给主题作者!
@zwwooooo: 官方嘛,只能去适应它,去服从
好文,我喜欢,我留言
注册侧边栏模块??
@IM路人: 是的,官方文档有点疏漏
呵呵,我也在研究wordpress
好有技术含量的文章啊,,,呵呵,,没太看懂啊。。
@王尚: 其实也没什么技术含量,遇到这问题的人看到最有帮助
收藏~~~
放假啦~来看看你咯!
常调试是个好习惯,
@WayJam: 调试也是为了过官方啊!
很感谢博主的博客能让我留言,谢谢
官方文档感觉不给力,经常得直接翻代码 ~ ╮(╯▽╰)╭