Zum Inhalt springen
Startseite » WP Snippets » Kein Beitrag ohne Beitragsbild

Kein Beitrag ohne Beitragsbild

Um sicherzustellen, dass in WordPress keine Beiträge ohne Beitragsbild veröffentlicht werden können, kannst du eine benutzerdefinierte Funktion in die functions.php deines Child-Themes einfügen. Diese Funktion überprüft, ob ein Beitragsbild gesetzt ist, bevor der Beitrag veröffentlicht wird. Wenn kein Bild vorhanden ist, wird das Veröffentlichen verhindert und eine Fehlermeldung angezeigt.

Hier ist, wie du das umsetzen kannst:

Schritt 1: Funktion in die functions.php einfügen

Füge den folgenden Code in die functions.php deines Child-Themes ein:

function require_featured_image_before_publishing($post_id, $post, $update) {
    // Überprüft, ob der Beitrag bereits veröffentlicht ist
    if ($update) {
        return;
    }

    // Überprüft, ob der Beitrag den Status "Entwurf" oder "Auto-Entwurf" hat
    if ($post->post_status === 'draft' || $post->post_status === 'auto-draft') {
        return;
    }

    // Überprüft, ob ein Beitragsbild gesetzt ist
    if (!has_post_thumbnail($post_id)) {
        // Setzt den Status zurück auf "Entwurf"
        wp_update_post(array(
            'ID' => $post_id,
            'post_status' => 'draft'
        ));

        // Zeigt eine Admin-Fehlermeldung an
        add_action('admin_notices', function() {
            echo '<div class="notice notice-error is-dismissible"><p>Fehler: Bitte fügen Sie ein Beitragsbild hinzu, bevor Sie den Beitrag veröffentlichen.</p></div>';
        });
    }
}

add_action('save_post', 'require_featured_image_before_publishing', 10, 3);

Erklärung des Codes:

  • $update: Überprüft, ob der Beitrag ein Update ist. Wenn ja, wird die Funktion beendet, da wir nur neue Beiträge überprüfen möchten.
  • $post->post_status: Überprüft, ob der Beitrag den Status „Entwurf“ oder „Auto-Entwurf“ hat. Wenn ja, wird die Funktion beendet.
  • has_post_thumbnail($post_id): Überprüft, ob ein Beitragsbild für den Beitrag gesetzt ist.
  • wp_update_post(array(…)): Setzt den Beitrag zurück in den Entwurfsmodus, falls kein Bild vorhanden ist.
  • add_action(‚admin_notices‘, function() {…}): Zeigt eine Fehlermeldung im Admin-Panel an, wenn kein Beitragsbild vorhanden ist.

Schritt 2: Testen

  • Testen: Erstelle einen neuen Beitrag und versuche, ihn ohne Beitragsbild zu veröffentlichen. WordPress sollte verhindern, dass der Beitrag veröffentlicht wird, und eine Fehlermeldung anzeigen, die besagt, dass ein Beitragsbild erforderlich ist.

Zusammenfassung

Mit dieser Funktion kannst du sicherstellen, dass keine Beiträge ohne Beitragsbild veröffentlicht werden. Dies ist besonders nützlich, um ein einheitliches Erscheinungsbild deiner Website zu gewährleisten, insbesondere wenn das Design stark von Beitragsbildern abhängt.