在我的Wordpress安装中,在网格视图中,缩略图不会显示在媒体库中。它们在列表视图中显示。
此外,如果我曾经在浏览器中通过复制/粘贴图像URL直接请求缩略图,那么之后图像也会显示在网格视图中。适用于所有用户,随时随地。
对于每个失败的映像,控制台显示如下错误:
[错误]加载资源失败:服务器响应状态为404()(filename.jpg,第0行)
但是,请求每个图像直接显示图像,然后重新加载网格,在网格中显示图像。(但是,列出相关上载文件夹中的所有图像,然后使用图像标记或在iframe中显示这些图像的脚本具有相同的效果。)
这是在将我的网站移动到新的托管提供商之后开始的。
新上传的图像显示相同的行为。
这是什么原因造成的?如何修复此问题?
编辑:
打开Wordpress的调试模式,显示文件“advanced cache.php”有故障。将其替换为备份副本导致了与“WP Super cache”插件相关的投诉,尽管该插件已停用。删除插件后,错误消息也消失了。
然而,在控制台中,出现了一个标题为“Ajax响应中的PHP错误”的部分,以及引用插件“显示所有图像大小”的错误。禁用然后删除此插件会导致错误消失,但图像仍不会显示在图像网格中。
此外,“advanced cache.php”文件自动消失。一些挖掘让我明白,一些缓存插件是造成这种情况的原因,即使没有任何缓存插件处于活动状态。但是,wp config仍然有一个硬编码的缓存引用:
define(\'WP\\u CACHE\',true);
我将其改为“false”。这样错误就消失了,但图像仍然没有显示出来。
SO网友:vikrant zilpe
请在WordPress中启用调试模式,也许会有答案。要启用它,请打开wp配置。php文件并查找define(\'WP\\u DEBUG\',false);。将其更改为:
\'定义(\'WP\\u DEBUG\',true);\'
为了能够将错误记录到服务器上的文件中,您需要再添加一行类似的内容:
\'定义(\'WP\\u DEBUG\\u LOG\',true);\'
在这种情况下,错误将保存到调试中。将日志文件记录在/wp content/目录中。
根据您是只希望记录错误还是同时在屏幕上显示错误,您还应在上面提到的行之后立即显示这一行:
\'定义(\'WP\\u DEBUG\\u DISPLAY\',true);\'
wp配置。php位于WordPress根目录中。它与数据库配置设置所在的文件相同。您必须通过FTP或SFTP访问它才能编辑它。
SO网友:Rob Ruifrok
我有一个类似的问题:自定义标题的裁剪标题图像显示在listview中,但不显示在网格视图中。
包含图像数据的ajax响应有一个“context”项,对于裁剪后的图像,该项设置为“custom header”,对于其他图像,该项设置为空白。
wp中包括\\js \\媒体模型。js a validator:定义了函数(附件)并包含注释行:“//过滤掉上下文创建的附件(例如标题、徽标等)。”
以下解决了(我的)问题:
add_filter(\'wp_prepare_attachment_for_js\', \'pas_context_aan\', 10, 3 );
function pas_context_aan($response, $attachment, $meta) {
if ($response[\'context\'] == \'custom-header\') $response[\'context\'] = \'\';
return $response;
}