最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

php - Admin Media grid view images won't load

programmeradmin1浏览0评论

All I did was adding this in my functions.php file:

function save_nb_image()
{
    global $wpdb;

            $id = $_POST['id'];
            $file = wp_get_attachment_url($id);

                if ( !is_wp_error($id) )
                {
                    $meta = wp_generate_attachment_metadata($id, $file);
                    $meta = nb_image_crop($meta);
                    wp_update_attachment_metadata($id, $meta);
                }

    wp_die();
}
add_action( 'wp_ajax_nb-image-autofix', 'save_nb_image' );

Then I tried to call it from a custom button in image edit form. Something didn't worked because nothing happened.

Then little later when I went into the Media Library again, the images wouldn't load. Chrome Console log said something about problem with mixed content. I have pretty recently changed to SSL/https so I thought that might been the problem. Although it's strange that change for some weeks ago make this affect now. I have been in media library a lot of times after that change and everything has worked perfectly.

But anyway, IF there is a SSL problem, I added "SSL Insecure Content Fixer" plugin to let that clear out everything. And I ran that plugin and then went in to the media library again. The console errors was now gone. But the images is still not loading. There is just a load spinner going on forever.

I have also tried activate the debug mode from wp_config but there is no related errors.

I have also tried re-installing the Wordpress version from Dashboard > Updates.

I have also of course tried remove the code I mentioned above.

What is there else to try?

Edit: I think it might be a database issue. Cause I even tried to remove all the files except /wp-content folder and wp-config.php file. And installed the older WP 4.4 version. Then went in and updated to latest version. After that: Still no images in grid view....

Edit, 27 feb 2017: I have found out that wp_get_attachment_url() was the wrong function to use since I wanted the absolute path and not the URL. So the right function to use is get_attached_file(). When I used the wp_get_attachment_url() function the ajax was loading very long time and returned a lot of strange code that I suspect was the image on some kind of code format. After changing to get_attached_file() the loading was much faster and the functionality of everything I wanted with the code did work as expected. However, maybe something with the earlier code made a mess in the database causing the Grid Mode problem?

All I did was adding this in my functions.php file:

function save_nb_image()
{
    global $wpdb;

            $id = $_POST['id'];
            $file = wp_get_attachment_url($id);

                if ( !is_wp_error($id) )
                {
                    $meta = wp_generate_attachment_metadata($id, $file);
                    $meta = nb_image_crop($meta);
                    wp_update_attachment_metadata($id, $meta);
                }

    wp_die();
}
add_action( 'wp_ajax_nb-image-autofix', 'save_nb_image' );

Then I tried to call it from a custom button in image edit form. Something didn't worked because nothing happened.

Then little later when I went into the Media Library again, the images wouldn't load. Chrome Console log said something about problem with mixed content. I have pretty recently changed to SSL/https so I thought that might been the problem. Although it's strange that change for some weeks ago make this affect now. I have been in media library a lot of times after that change and everything has worked perfectly.

But anyway, IF there is a SSL problem, I added "SSL Insecure Content Fixer" plugin to let that clear out everything. And I ran that plugin and then went in to the media library again. The console errors was now gone. But the images is still not loading. There is just a load spinner going on forever.

I have also tried activate the debug mode from wp_config but there is no related errors.

I have also tried re-installing the Wordpress version from Dashboard > Updates.

I have also of course tried remove the code I mentioned above.

What is there else to try?

Edit: I think it might be a database issue. Cause I even tried to remove all the files except /wp-content folder and wp-config.php file. And installed the older WP 4.4 version. Then went in and updated to latest version. After that: Still no images in grid view....

Edit, 27 feb 2017: I have found out that wp_get_attachment_url() was the wrong function to use since I wanted the absolute path and not the URL. So the right function to use is get_attached_file(). When I used the wp_get_attachment_url() function the ajax was loading very long time and returned a lot of strange code that I suspect was the image on some kind of code format. After changing to get_attached_file() the loading was much faster and the functionality of everything I wanted with the code did work as expected. However, maybe something with the earlier code made a mess in the database causing the Grid Mode problem?

Share Improve this question edited Feb 27, 2017 at 15:02 Peter Westerlund asked Feb 22, 2017 at 17:22 Peter WesterlundPeter Westerlund 1,0775 gold badges14 silver badges31 bronze badges
Add a comment  | 

3 Answers 3

Reset to default 1

Problem is now solved. Thanks to user "blobfolio" here:

It sounds like you may have corrupted the image metadata. Have you tried running a plugin like https://wordpress/plugins/force-regenerate-thumbnails/ to regenerate the images/meta?

Solution:

So the solution is to force regenerate all the thumbnails. For example using the plugin mentioned above in the quote.

I had a similar issue recently. I had moved over a theme with some plugin specific code in the functions.php. I forgot however to install said plugin. The grid view in the media gallery wouldn't load, but the list view would.

What Fixed It For Me

  • Remove plugin specific code from Functions file.
  • Install proper plugin
  • Add plugin specific code to Functions file.

I'm not sure if that will work for you but maybe check your plugins.

I had similar issue recently, after inspecting admin page the admin-ajax.php response contain non-json response. It is because my client adding extra code in functions.php that somehow append inline <style></style> to the admin-ajax.php response.

Solution: Check the admin-ajax.php response, if there are non-json return or invalid json return you should investigate where the extra ajax response come from.

发布评论

评论列表(0)

  1. 暂无评论