Met deze gratis tool voeg je een extra menu-optie toe in je WordPress-dashboard (Media → Ongebruikte Media).
Daar zie je meteen welke afbeeldingen in je mediabibliotheek niet meer gebruikt worden op de frontend van je site.
Zolang je de snippet geactiveerd laat via een plugin als WPCode of Code Snippets, blijft deze optie beschikbaar en kun je wanneer je wilt je mediabibliotheek opschonen. Wanneer je klaar bent kun je simpelweg de snippet weer deactiveren.
Voegt een submenu toe onder Media → Ongebruikte Media.
Spoort ongebruikte afbeeldingen op: bestanden die niet voorkomen in pagina’s, berichten, uitgelichte afbeeldingen of algemene instellingen.
Geeft inzicht in bestandsnaam, afmetingen (pixels) en bestandsgrootte (MB/KB).
Beheer vanuit je dashboard: vink aan wat je wilt verwijderen en gebruik de bulk-delete knop.
Selecteer alles: met één klik alles aanvinken.
Maak altijd een backup van je site (bestanden en database) voordat je gaat verwijderen.
Deze tool controleert alleen de standaard database-velden. Afbeeldingen die via page builders of plugins (bijv. Elementor of ACF) geladen worden, kunnen soms als ongebruikt worden aangemerkt. Controleer daarom altijd handmatig.
De lijst is om performance-redenen beperkt tot maximaal 500 afbeeldingen per keer.
Kopieer de code hieronder.
Plaats hem in een snippet-plugin (WPCode of Code Snippets).
Zet hem op Run Everywhere en activeer.
In je dashboard verschijnt nu Media → Ongebruikte Media.
De code wordt alleen uitgevoerd als jij of een beheerder naar de pagina Media → Ongebruikte Media gaat.
Op de voorkant (frontend) van je site draait de snippet helemaal niet.
Ook in de rest van je admin (bijv. bij berichten of instellingen) wordt deze code niet aangeroepen.
👉 Dat betekent dat je gewone bezoekers er niets van merken en dat je site niet trager wordt.
// === Ongebruikte Media Opsporings Tool ===
add_action('admin_menu', function () {
add_media_page(
'Ongebruikte Media',
'Ongebruikte Media',
'manage_options',
'unused-media',
'unused_media_page'
);
});
function unused_media_page() {
global $wpdb;
echo 'Ongebruikte Media
';
echo 'Overzicht van afbeeldingen die volgens de database niet worden gebruikt in content, uitgelichte afbeeldingen of site-instellingen.
';
echo 'LET OP: Maak altijd eerst een backup voordat je bestanden verwijdert!
';
// Verwijder geselecteerde bestanden
if (isset($_POST['delete_unused']) && !empty($_POST['unused_ids']) && is_array($_POST['unused_ids'])) {
check_admin_referer('delete_unused_media');
$deleted_count = 0;
foreach ($_POST['unused_ids'] as $id) {
$id = intval($id);
if ($id > 0 && wp_delete_attachment($id, true)) {
$deleted_count++;
}
}
echo ''.intval($deleted_count).' ongebruikte afbeeldingen verwijderd.
';
}
// Ophalen maximaal 500 afbeeldingen (voor snelheid)
$attachments = $wpdb->get_results("
SELECT ID, post_title, guid
FROM {$wpdb->posts}
WHERE post_type='attachment'
AND post_mime_type LIKE 'image/%'
ORDER BY post_date DESC
LIMIT 500
");
$unused = [];
if ($attachments) {
foreach ($attachments as $att) {
$id = $att->ID;
$url = $att->guid;
$file = get_attached_file($id);
// Check of afbeelding ergens wordt gebruikt
$in_posts = $wpdb->get_var($wpdb->prepare(
"SELECT COUNT(ID) FROM {$wpdb->posts} WHERE post_content LIKE %s LIMIT 1",
'%' . $wpdb->esc_like($url) . '%'
));
$in_thumb = $wpdb->get_var($wpdb->prepare(
"SELECT COUNT(meta_id) FROM {$wpdb->postmeta} WHERE meta_key='_thumbnail_id' AND meta_value=%d LIMIT 1",
$id
));
$in_options = $wpdb->get_var($wpdb->prepare(
"SELECT COUNT(option_id) FROM {$wpdb->options} WHERE option_value LIKE %s LIMIT 1",
'%' . $wpdb->esc_like($url) . '%'
));
if ($in_posts == 0 && $in_thumb == 0 && $in_options == 0) {
$size_human = '-';
$dimensions = '';
if ($file && file_exists($file)) {
$size_human = size_format(filesize($file), 2);
$img_info = @getimagesize($file);
if ($img_info) {
$dimensions = $img_info[0] . '×' . $img_info[1];
}
}
$unused[] = [
'id' => $id,
'title' => $att->post_title,
'url' => $url,
'size' => $size_human,
'dim' => $dimensions
];
}
}
}
// Tabelweergave
if (empty($unused)) {
echo 'Geen ongebruikte afbeeldingen gevonden.
';
} else {
echo '';
// Selecteer alles script
echo '';
}
echo '';
}
Etiam viverra lacinia porta lorem placerat fermentum venenatis ante a. Ante imperdiet blandit eget laoreet faucibus duis nam velit turpis.

Mollis felis nunc accumsan conubia dui consectetur ridiculus pretium senectus a eu. Dis potenti porta hendrerit volutpat maecenas nibh natoque sit auctor fusce.
Copyright © 2024 Diginia by TBWBThemes. All rights reserved.
We use cookies to improve your experience on our site. By using our site, you consent to cookies.
Manage your cookie preferences below:
Essential cookies enable basic functions and are necessary for the proper function of the website.
Statistics cookies collect information anonymously. This information helps us understand how visitors use our website.
Google Analytics is a powerful tool that tracks and analyzes website traffic for informed marketing decisions.
Service URL: policies.google.com
You can find more information in our Cookiebeleid (EU) and Privacyverklaring (EU).