WP媒体库网格视图不显示

Posted

技术标签:

【中文标题】WP媒体库网格视图不显示【英文标题】:WP Media Library Grid View not displaying 【发布时间】:2016-10-14 04:56:08 【问题描述】:

发现这个问题:Wordpress: media library grid mode infinite loading

而且,最近: “目前我正在使用 Enfold 子主题,但媒体网格视图不起作用。即使我尝试从其他任何地方进入网格,例如选择特色图像,它也不起作用。” 来自:Wordpress grid media is not working

我在 WordPress(也使用 Enfold)中遇到了完全相同的问题。我已将我的插件文件夹重命名为 plugins.hold,禁用所有插件。我还将主题设置为 TwentySixteen。这些东西都不起作用。媒体库列表视图有效——只有网格视图无效。 (但是,这很重要,因为默认情况下有几个元素会拉出网格视图,而没有机会切换到列表视图。这实际上会使这些元素变得无用,因为不可能添加图像。)

我意识到这更像是一个 WP 问题而不是一个编程问题,但我希望其他人已经看到了这一点并就如何解决它提出了建议。

【问题讨论】:

同样的问题。你找到解决办法了吗? 我们最终从备份中恢复了网站。我确实收到了这个信息(在我们恢复之后)来帮助我排除故障:启用调试日志:打开你的 wp-config.php 文件并查找 define('WP_DEBUG', false);。将其更改为真。另外,设置define('WP_DEBUG_LOG', true);错误将保存到 /wp-content/目录中的 debug.log 日志文件中。请注意,您必须在启用调试模式后尝试切换到网格模式,因此它可能会触发错误。希望对您有所帮助! 【参考方案1】:

将以下代码添加到主题文件夹的functions.php对我有用

 add_action('admin_head', 'my_custom_style'); 

    function my_custom_style()
    
        echo '<style>
    .media-frame.mode-grid .media-toolbar 
        
        height: 60px !important;
    
  </style>';
    

【讨论】:

【参考方案2】:

检查 wp-admin 目录中的日志错误文件。如果重复错误是这样的

PHP 警告:出于安全原因,ini_set () 在

中已被禁用

所以,禁用 Cpanel 中的 ini_set 函数(php 选择器> 选项> 禁用函数)

如果您的 Cpanel 中没有出现 php 选择器选项,请联系您的托管服务提供商解决此问题

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。【参考方案3】:

解决方法:检查 admin-ajax.php 响应,如果有非 json 返回或无效 json 返回,你应该调查额外的 ajax 响应来自哪里。

我最近遇到了类似的问题,在检查管理页面后 admin-ajax.php 响应包含非 json 响应。这是因为我的客户在 function.php 中添加了额外的代码,以某种方式将内联附加到 admin-ajax.php 响应

【讨论】:

【参考方案4】:

对我来说,这发生在将我的网站从 nginx 主机移动到 Apache 之后。一个旧的 .htaccess 文件潜伏在 /uploads 文件夹中,它阻止了对上传文件夹中的任何文件的访问,其引荐来源不是我的网站(而是 http 版本,而不是当前的 https 版本)。由于 NGINX 不读取 .htaccess,这会突然阻止图像在媒体网格中显示。

奇怪的是,图像显示在列表视图中。另外,直接请求图片也可以,大概是因为这样做没有引用者。

【讨论】:

【参考方案5】:

我最近遇到了这个问题,在尝试了以下所有建议后对我有用。

wp-config.php 的最顶部添加以下函数。如果之后需要 而不是更新固定链接一次。

ob_start();

【讨论】:

【参考方案6】:

我在我的 wordpress 网站上遇到了同样的问题。经过大量调试后,我逐步解决了我的问题。

    首先添加下面给出的代码你的 db-config.php
define('SCRIPT_DEBUG', TRUE);
define('WP_DEBUG', TRUE);
define( 'WP_DEBUG_LOG', true );
    然后转到 /wp-includes/js/wp-util.js 文件并找到代码 $.ajax( options )在第 100 行(取决于您的 wordpress 版本)将下面给出的代码插入到您的文件中
deferred.jqXHR = $.ajax( options ).done( function( response ) 
  try 
      response = JSON.parse(response);
   catch (Exception) 
      response = response;
  

请检查您的问题是否已解决。

    如果您从 db-config.php 中删除了常量
define('SCRIPT_DEBUG', TRUE);
define('WP_DEBUG', TRUE);
define( 'WP_DEBUG_LOG', true );
    然后压缩你的/wp-includes/js/wp-util.js文件代码,把你压缩后的代码放到/wp-includes/js/wp-util.min.js

*如果您更新您的 wordpress 版本更改可能会丢失,请自行承担风险。

【讨论】:

更改核心文件是个坏习惯。但这对我有用。我认为这是更好的答案...谢谢。 这对我没有任何影响。

以上是关于WP媒体库网格视图不显示的主要内容,如果未能解决你的问题,请参考以下文章

网格视图内的文本框不显示数据

我正在获取图像列表视图,而不是以网格格式显示

刷新数据网格视图的问题

如何创建显示交错网格视图的下拉菜单?

在 extjs 网格视图中显示文本框

如何在网格中显示列并将其隐藏在视图对话框中