tag

add_filter('the_content', function ($content) {

    return preg_replace_callback(
        '/<img([^>]*class=["\'][^"\']*wp-image-(\d+)[^"\']*["\'][^>]*)>/i',
        function ($match) {

            $img_tag = $match[0];
            $attachment_id = (int) $match[2];

            // Heeft de afbeelding al een alt? Dan niets doen.
            if (preg_match('/\salt\s*=/i', $img_tag)) {
                return $img_tag;
            }

            // Haal de alt-tekst uit de Media Library.
            $alt = get_post_meta($attachment_id, '_wp_attachment_image_alt', true);

            // Geen alt in de Media Library? Dan niets toevoegen.
            if ($alt === '') {
                return $img_tag;
            }

            // Voeg alt toe vóór de afsluitende >
            return substr($img_tag, 0, -1) .
                ' alt="' . esc_attr($alt) . '">';
        },
        $content
    );

}, 20);