If WordPress shows attachments in Media Library list view but the grid is empty, do not start by uploading every file again. The records may still exist while a filter, attachment request or browser script prevents the grid from displaying them. Test one known attachment and follow its request.
Establish what is actually missing
Open the same library in list view with the same authorized account. Clear search text and date or file-type filters in both views. Locate one known image, open its attachment details and test its file URL privately.
Separate an entirely blank grid from visible tiles with broken thumbnails. Those symptoms require different checks. An attachment appearing in the list proves that record is available to this account; it does not prove every generated image size or remote-storage URL is healthy.
Read the grid request, not just the spinner
Open the browser's developer tools, select Network and reload the grid. Look for the attachment query, commonly an admin AJAX request using the query-attachments action. WordPress documents its attachment-query handler, including capability and query-filter handling.
Record the request status and response type. Keep cookies, security tokens and private media URLs out of screenshots shared publicly.
| Observation |
Next check |
| No attachment request appears |
Console error or a script that failed before loading |
| Authentication page or access denial returns |
Session, account permissions and the exact blocking layer |
| Server error returns |
PHP error at the same timestamp |
| Successful JSON contains no attachments |
Active filters and attachment-query customizations |
| Records return but tiles do not appear |
JavaScript rendering and browser extensions |
| Tiles appear but images fail |
Individual thumbnail responses and storage access |
Same account: List and grid compared. Request: Status and response captured. Known image: Grid and picker both work. No duplication: Existing uploads preserved. Explanatory checklist, not a customer test result.
Isolate the responsible change
Repeat with a fresh browser session signed into the same account. If that resolves the issue, compare extensions and cached assets before changing the server. Avoid testing with an unrelated administrator and assuming the original account's permissions are correct.
If the failure started after an update, reproduce it on private staging and change one relevant extension at a time. Media folders, offload integrations and admin optimizers can affect different stages. Do not disable the entire security stack or exempt all admin AJAX traffic because one request was denied.
For a library that loads initially and fails only while scrolling, use the Media Library pagination and memory test. That is a different problem from an empty first page.
Verify the repair with the original account
Return to the affected role and confirm the known image appears in both views. Search for it, clear the search, switch a file-type filter and open the media picker from the editor. Confirm another existing image still loads rather than relying on one new upload.
Regenerating thumbnails is appropriate only after evidence points to missing image sizes. It will not fix an attachment query that returns a login page. Ask HandL WP to trace the failing media request with the timestamp, response category and relevant plugin change, not an unrestricted media export.
References reviewed October 7, 2026. Examples are explanatory, not customer test results.