WordPress snippets die elke website gebruikt functions.php
Met een paar slimme functions.php snippets kun je WordPress websites netter, handiger en gebruiksvriendelijker maken. In dit artikel verzamel ik praktische snippets die op veel websites van pas komen, van admin-aanpassingen tot kleine front-end verbeteringen.
1. Adminbalk uitschakelen voor ingelogde gebruikers
Wil je de WordPress adminbalk op de voorkant van de site verbergen voor klanten of leden, dan is dit een eenvoudige snippet.
add_filter( 'show_admin_bar', '__return_false' );
2. Uploads map wijzigen naar /media/
Met deze regel in wp-config.php kun je WordPress uploads opslaan in een map met een nettere naam, bijvoorbeeld /media/.
define('UPLOADS', 'media');3. Excerpt lengte aanpassen
Handig voor blogoverzichten of kennisbank kaarten wanneer je standaard samenvattingen te kort of te lang zijn.
add_filter( 'excerpt_length', function() {
return 20;
}, 999 );4. Login logo link aanpassen
Standaard linkt het WordPress login logo naar wordpress.org. Met deze snippet stuur je bezoekers terug naar je eigen website.
add_filter( 'login_headerurl', function() {
return home_url();
} );5. SVG uploads toestaan
WordPress blokkeert SVG standaard. Gebruik deze snippet alleen als je de bron van je bestanden vertrouwt en SVG’s veilig maakt.
add_filter( 'upload_mimes', function( $mimes ) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
} );6. SVG preview in de mediabibliotheek
WordPress toont SVG vaak niet goed in de media library.
function ucweb_fix_svg_preview() {
echo '';
}
add_action('admin_head', 'ucweb_fix_svg_preview');7. SVG uploads alleen voor beheerders toestaan
Dit is veiliger dan SVG voor iedereen openzetten.
add_filter( 'upload_mimes', function( $mimes ) {
if ( current_user_can( 'manage_options' ) ) {
$mimes['svg'] = 'image/svg+xml';
}
return $mimes;
} );8. Uitgelichte afbeelding tonen in het WordPress pagina overzicht
Wanneer je veel pagina’s beheert in WordPress kan het handig zijn om snel te zien welke pagina een uitgelichte afbeelding heeft. Standaard toont WordPress deze informatie niet in het pagina overzicht in het dashboard. Met een kleine snippet kun je eenvoudig een extra kolom toevoegen waarin de uitgelichte afbeelding wordt weergegeven.
Dit maakt het beheer overzichtelijker en voorkomt dat je per pagina moet openen om te controleren of een afbeelding is ingesteld.
// Kolom Uitgelichte Afbeelding toevoegen in Pagina overzicht (na Titel)
add_filter('manage_page_posts_columns', function($columns) {
$new = [];
foreach ($columns as $key => $label) {
$new[$key] = $label;
if ($key === 'title') {
$new['featured_image'] = 'Uitgelichte afbeelding';
}
}
return $new;
});
add_action('manage_page_posts_custom_column', function($column, $post_id) {
if ($column !== 'featured_image') {
return;
}
if (has_post_thumbnail($post_id)) {
echo get_the_post_thumbnail($post_id, [60, 60], ['style' => 'width:60px;height:60px;object-fit:cover;']);
} else {
echo '—';
}
}, 10, 2);
8.1 Uitgelichte afbeelding tonen in het WordPress pagina overzicht (landscape)
Wanneer je uitgelichte afbeeldingen gebruikt in landscape formaat (bijvoorbeeld 1200×630 voor social media), kan het handig zijn om deze verhouding ook terug te zien in het WordPress dashboard.
Met deze snippet voeg je een landscape preview (80×42) toe aan het overzicht van berichten of pagina’s. Hierdoor herken je sneller welke afbeelding bij welke pagina hoort.
Als extra voordeel is de afbeelding klikbaar: bij een klik opent de pagina direct in een nieuw tabblad op de front-end, zodat je snel kunt controleren hoe de pagina eruitziet.
// Kolom Uitgelichte Afbeelding toevoegen in Pagina overzicht (na Titel)
add_filter('manage_page_posts_columns', function($columns) {
$new = [];
foreach ($columns as $key => $label) {
$new[$key] = $label;
if ($key === 'title') {
$new['featured_image'] = 'Uitgelichte afbeelding';
}
}
return $new;
});
add_action('manage_page_posts_custom_column', function($column, $post_id) {
if ($column !== 'featured_image') {
return;
}
if (has_post_thumbnail($post_id)) {
$thumb = get_the_post_thumbnail(
$post_id,
'thumbnail',
[
'style' => 'width:80px;height:42px;object-fit:cover;border-radius:4px;cursor:pointer;'
]
);
echo '' . $thumb . '';
} else {
echo '—';
}
}, 10, 2);
9. Uitgelichte afbeelding kolom toevoegen aan berichten
// Kolom Uitgelichte Afbeelding toevoegen in Berichten overzicht
add_filter('manage_posts_columns', function($columns) {
$new = [];
foreach ($columns as $key => $label) {
$new[$key] = $label;
if ($key === 'title') {
$new['featured_image'] = 'Uitgelichte afbeelding';
}
}
return $new;
});
add_action('manage_posts_custom_column', function($column, $post_id) {
if ($column !== 'featured_image') {
return;
}
if (has_post_thumbnail($post_id)) {
echo get_the_post_thumbnail($post_id, [60, 60], ['style' => 'width:60px;height:60px;object-fit:cover;']);
} else {
echo '—';
}
}, 10, 2);
9.1 Uitgelichte afbeelding kolom toevoegen aan berichten (landscape)
Wanneer je blogberichten gebruikt met uitgelichte afbeeldingen in landscape formaat (bijvoorbeeld 1200×630 voor social media), kan het handig zijn om deze verhouding ook terug te zien in het WordPress dashboard.
Met deze snippet voeg je een landscape preview (80×42) toe aan het berichtenoverzicht. Hierdoor kun je in één oogopslag zien welke uitgelichte afbeelding bij welk artikel hoort.
De afbeelding is bovendien klikbaar. Door op de preview te klikken opent het bericht direct in een nieuw tabblad op de front-end. Dit maakt het snel en eenvoudig om een artikel te controleren zonder eerst de bewerkpagina te openen.
// Kolom Uitgelichte Afbeelding toevoegen in Berichten overzicht
add_filter('manage_posts_columns', function($columns) {
$new = [];
foreach ($columns as $key => $label) {
$new[$key] = $label;
if ($key === 'title') {
$new['featured_image'] = 'Uitgelichte afbeelding';
}
}
return $new;
});
add_action('manage_posts_custom_column', function($column, $post_id) {
if ($column !== 'featured_image') {
return;
}
if (has_post_thumbnail($post_id)) {
$thumb = get_the_post_thumbnail(
$post_id,
'thumbnail',
[
'style' => 'width:80px;height:42px;object-fit:cover;border-radius:4px;cursor:pointer;'
]
);
echo '' . $thumb . '';
} else {
echo '—';
}
}, 10, 2);
10. Kolom met uitgelichte afbeelding sorteerbaar maken
Wanneer je veel berichten of pagina’s hebt kan het handig zijn om snel te zien welke items nog geen uitgelichte afbeelding hebben. Door de kolom sorteerbaar te maken kun je eenvoudig sorteren op aanwezigheid van een afbeelding.
Onderstaande snippet zorgt ervoor dat de kolom Uitgelichte afbeelding klikbaar wordt in het WordPress dashboard.
// Maak de kolom 'Uitgelichte afbeelding' sorteerbaar
add_filter('manage_edit-post_sortable_columns', function($columns) {
$columns['featured_image'] = 'featured_image';
return $columns;
});
add_filter('manage_edit-page_sortable_columns', function($columns) {
$columns['featured_image'] = 'featured_image';
return $columns;
});
add_action('pre_get_posts', function($query) {
if (!is_admin()) {
return;
}
$orderby = $query->get('orderby');
if ($orderby === 'featured_image') {
$query->set('meta_key', '_thumbnail_id');
$query->set('orderby', 'meta_value');
}
});
