Wp-includes/media.php中的“未定义索引”

时间:2017-05-27 作者:user166415

我总是在仪表板上看到这些

注意:未定义索引:full-in/home2/guyfancy/public\\uhtml/cafe4apps。净/wp包括/介质。php在线215

注意:未定义索引:full-in/home2/guyfancy/public\\uhtml/cafe4apps。净/wp包括/介质。php第216行

注意:未定义索引:full-in/home2/guyfancy/public\\uhtml/cafe4apps。净/wp包括/介质。php第217行

注意:未定义索引:full-in/home2/guyfancy/public\\uhtml/cafe4apps。净/wp包括/介质。php上,最近它也开始出现在前端

3 个回复
SO网友:Sean Morrison

对于任何一个偶然发现这个问题的人,我已经找到了一个可能的原因。

在代码中运行wp\\u get\\u attachment\\u image\\u src($imageid,\'full\')时,如果要检查的$imageid没有可用的“full”大小,您将看到此错误。

如上所述,这个特殊的问题可能是由于插件在请求之前没有检查图像大小是否存在。如果您想要更具体的内容,可以在插件和主题中搜索wp\\u get\\u attachment\\u image\\u src,查看是否有任何内容试图获取“完整”图像,而无需检查它是否存在。

在我的情况下,它是自定义代码,所以我写这个来绕过它

$meta = wp_get_attachment_metadata($imageid);   
if( array_key_exists("full", $meta["sizes"]) ) {
   $imagepath = wp_get_attachment_image_src($imageid,\'full\')
} else {
  // Fallback to the original file name
  if( array_key_exists("file", $meta) )
     $imagepath = \'wp-content/uploads/\' . $meta["file"];
}

SO网友:Eric B.

这里真的没有问题,所以我不确定你想走哪条路,所以这里有一个小故障排除给你。。。

首先,在我们讨论决议之前,it is never a good idea to leave debug on a production server. 您不应该看到这些错误消息,因为它们不是关键任务,也不会停止站点的显示。

如果您没有运行最新版本的WordPress和插件/主题,请进行站点备份,然后进行更新。

如果这不起作用,我猜是一个主题导致了这个问题。(因为引发错误的是wp includes/media.php文件,而不是插件)确定主题是否是您的主题的最简单方法是激活另一个主题。

最后,如果您现在还没有弄清楚,请尝试将所有插件文件夹移动到名为的文件夹中。不活动的(或类似的),访问您的主页,看看它是否修复了它。如果是这样,那就是问题所在。开始添加插件,直到错误再次出现,这将是罪魁祸首。然后可以将所有其他插件移回。

排除故障后,请确保在define(\'WP_DEBUG\', true) 至“false”。

SO网友:Radley Sustaire

当我得知我提供的是一个图片URL而不是图片ID时,我犯了这个错误。这是一个愚蠢的错误,但并不明显。

检查以确保您正在将有效的映像ID传递给wp\\u get\\u attachment\\u image\\u src。没有任何错误迹象,但它返回的URL实际上只是基本上载目录,它抛出了如上所述的警告。

当然,如果不是你的代码,那就是一个插件或主题。

结束

相关推荐

Displaying oEmbed errors?

有时,通过oEmbed嵌入项目是不可能的,例如,当YouTube视频已禁用嵌入时。The oEmbed service will return a 401 Unauthorized, 并且不会转换代码。有没有办法通知用户这一点?当前的工作流是非直观的(至少对我来说),我更喜欢在WordPress页面上,或者更好的是,在编辑器中显示一条消息,说明对象无法嵌入。