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.

PHP 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/.

Config snippet
define('UPLOADS', 'media');

3. Excerpt lengte aanpassen

Handig voor blogoverzichten of kennisbank kaarten wanneer je standaard samenvattingen te kort of te lang zijn.

PHP snippet
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.

PHP snippet
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.

PHP snippet
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.

PHP snippet
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.

PHP snippet
add_filter( 'upload_mimes', function( $mimes ) {
    if ( current_user_can( 'manage_options' ) ) {
        $mimes['svg'] = 'image/svg+xml';
    }
    return $mimes;
} );
Tip: upload alleen SVG bestanden uit betrouwbare bronnen. SVG bestanden kunnen namelijk scripts bevatten.

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.

PHP snippet
// 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.

PHP snippet
// 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

Hetzelfde principe kun je ook toepassen op het berichten overzicht in WordPress. Dit is vooral handig wanneer je een blog of kennisbank beheert met veel artikelen. Je ziet dan direct welke berichten een uitgelichte afbeelding hebben.
PHP snippet
// 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.

PHP snippet
// 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);
Tip: gebruik uitgelichte afbeeldingen consistent voor pagina’s en berichten. Dit maakt je WordPress dashboard overzichtelijker en zorgt ook voor betere previews in je thema of blogoverzicht.

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.

PHP snippet
// 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');
    }
});
Plaats snippets bij voorkeur in een child theme of in een kleine site-specifieke plugin. Test wijzigingen altijd eerst op een staging omgeving.
Winkelwagen
Scroll naar boven