Lesefortschritt:

    Memberbereich-Special – Trick #3: Unveröffentlichte Word­Press-Beiträge für eingeloggte User anzeigen

    30. Oktober 2026 | functions.php, Word­Press

    Trick # 625 | Dieser Beitrag beinhaltet 0 Wörter. – Geschätzte Lesezeit: ca. 0 Minuten.

    In unserem Memberbereich wollen wir Word­Press-Inhalte im Voraus planen, aber diese Beiträge für eingeloggte Benutzer schon vor ihrer Veröffentlichung zugänglich machen. Standardmässig haben User mit höheren Rechten (z.B. Administratoren) immer Zugriff auf alle Inhalte. Damit das auch für tiefere Berechtigungen klappt (etwa für Abonnenten), braucht es eine Anpassung; diese lässt sich jedoch leicht umsetzen.

    Fügen Sie dazu diesen Code in die functions.php-Datei Ihres Themes ein. Im Backend unter Design/Theme-Datei-Editor:

    function allow_logged_in_users_to_view_future_posts($caps, $cap, $user_id, $args) {
        // Prüfen, ob die Berechtigungsanfrage sich auf das Lesen eines Beitrags bezieht
        if ('read_post' === $cap && !empty($args[0])) {
            $post = get_post($args[0]); // Hole die Post-Daten
            if ($post && 'future' === $post->post_status) { // Überprüfen, ob der Beitrag geplant ist
                // Überprüfen, ob der Benutzer eingeloggt ist
                if (is_user_logged_in()) {
                    $caps = ['read'];
                } else {
                    $caps = ['do_not_allow']; // Verhindert den Zugriff für ausgeloggte Benutzer
                }
            }
        }
        return $caps;
    }
    add_filter('map_meta_cap', 'allow_logged_in_users_to_view_future_posts', 10, 4);

    Ab sofort können nun User, welche auf der Website eingeloggt sind, die geplanten, aber noch unveröffentlichten einsehen. Wer nicht eingeloggt ist, erhält keinen Zugriff. Sehr praktisch für die Exklusivität von Memberbereichen.

    Werbung

    Keine Inhalte gefunden.

    Werbung

     

    Pin It on Pinterest

    Share This
    Überblick über den Datenschutz

    Diese Website verwendet Cookies, damit wir Ihnen die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in Ihrem Browser gespeichert und dienen dazu, Sie wiederzuerkennen, wenn Sie auf unsere Website zurückkehren, und unserem Team zu helfen, zu verstehen, welche Bereiche der Website Sie am interessantesten und nützlichsten finden.