我如何修正:“通知:未定义的偏移量:0”?

时间:2017-01-29 作者:WarioNeila86

我正在创建一个WordPress网站,我的一些帖子有问题。

这个问题只影响到四分之二的文章,经过调查,我想不出原因。

此错误消息显示在注释部分的正下方:

注意:未定义的偏移量:0 in/home/***/public\\u html/wp includes/class wp query。php在线3152

搜索该行时,我找到以下函数:

enter image description here

我在WordPress代码中搜索了此函数,但只找到了几个匹配项:

grep -r rewind_posts *
wp-content/themes/magazine/themify/themify-wp-filters.php:              rewind_posts();
wp-includes/class-wp-query.php:                 $this->rewind_posts();
wp-includes/class-wp-query.php: public function rewind_posts() {
wp-includes/feed-rdf.php:<?php rewind_posts(); while (have_posts()): the_post(); ?>
wp-includes/query.php:function rewind_posts() {
wp-includes/query.php:  $wp_query->rewind_posts();
关于这些结果,有两种不同的实现rewind_post 中的函数query.phpclass-wp-query.php.

只有两个地方可以调用此函数。我将重点放在与正在使用的主题相关的主题上,themify-wp-filters.php, 从该函数调用:function themify_404_template 这说明不了什么,因为我没有查看404页面。

我当前正在使用Super Socializer plugin 但我还没有启用社交评论功能。

有什么想法吗?

5 个回复
最合适的回答,由SO网友:markratledge 整理而成

您正在WordPress核心文件中查找PHP通知的原因,这是浪费时间,因为1)我怀疑您在WordPress中发现了新的错误,2)您不想修改WordPress核心文件来修复主题或插件问题,3)错误是由主题或插件而不是WordPress核心引起的,但在PHP通知中显示为指向核心文件。

除此之外,这是一个PHP通知。不是错误,不是致命错误,而是通知。这意味着“嘿,看看我,你可能想在某个时候修复我,但我不是一个错误。”阅读https://stackoverflow.com/questions/4624474/php-difference-between-notice-and-warning

注意:这是一条说明你应该做什么和不应该做什么的信息。

警告:它发生在运行时。但它不会中断代码执行。

错误:它也发生在运行时,但程序执行不会继续,而是会终止。

因此,请检查wp配置。php并关闭调试,这样您就不会看到通知https://codex.wordpress.org/Debugging_in_WordPress 或者签入php。您托管账户的ini;看见https://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display

要更有效地查找PHP错误或通知的原因,请使用上面链接的调试。但最简单的方法是停用所有插件并重新激活,直到找到发出通知的插件。然后向插件寻求帮助或访问他们的论坛。或者,如果不是插件导致的,切换到默认的WordPress主题,查看通知是否出现在记录的错误日志中wp_debug.

SO网友:prosti

我最近为rewind_posts 作用

>grep -r rewind_posts *
wp-content/themes/magazine/themify/themify-wp-filters.php:              rewind_posts();
wp-includes/class-wp-query.php:                 $this->rewind_posts();
wp-includes/class-wp-query.php: public function rewind_posts() {
wp-includes/feed-rdf.php:<?php rewind_posts(); while (have_posts()): the_post(); ?>
wp-includes/query.php:function rewind_posts() {
wp-includes/query.php:  $wp_query->rewind_posts();
问题很可能不在WordPress核心中,因为WordPress高级工程师不允许出现此类问题。

根据经验,主题开发人员有时可能会忘记对代码进行分类,因此您可能会在以下方面遇到问题:

wp-content/themes/magazine/themify/themify-wp-filters.php: 
使用rewind_posts 无需检查某些条件if().主题应具有此跳棋,这取决于尝试回放的内容。

我没有密码,所以我不能多说。您可以将此问题发送给主题支持。

SO网友:Freddy Ochner

对我来说,解决办法是the_post() 通话前the_content().

SO网友:Ariya

我遇到了同样的通知,原因是使用wordpresswhile(have_posts) 在单个{name}中。php文件。移除循环后,通知消失。

SO网友:Widable Tech

要删除脚本,必须配置wp配置。php定义如下。

define(\'WP\\u DEBUG\',false);

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post