Wenn man Beiträge in WordPress mit einem Passwort schützt, so muss man dieses auch dann eingeben, wenn man eingeloggt ist. Um nur ausgeloggte User ums Passwort zu fragen, kann man folgenden Code in die functions.php des verwendeten Themes kopieren. Im speziellen Anwendungsfall war auch noch gefragt, dass der Auszug des Beitrags auf den Übersichtsseiten angezeigt wird. Wer das nicht braucht, lässt den ersten Schritt einfach weg:
/* Erster Schritt: Der Auszug des Beitrags wird auf Übersichtsseiten angezeigt */
function egm_excerpt_protected( $excerpt ) {
if ( post_password_required() )
{
$post = get_post();
$excerpt=$post->post_excerpt;
}
return $excerpt;
}
add_filter( 'the_excerpt', 'egm_excerpt_protected' );
/* Zweiter Schritt: eingeloggte User kriegen den Inhalt auch ohne Passwort zu sehen */
function egm_protected_posts_for_loggedin_users( $content ) {
if ( post_password_required() && is_single() && is_user_logged_in ()) {
$post = get_post();
$content = wpautop($post->post_content);
return do_shortcode($content);
}
else return $content;
}
add_filter( 'the_content', 'egm_protected_posts_for_loggedin_users', 10 );
- Weißraum, Abstände & Bildgrößen: warum Designer und Kund:innen oft uneinig sind – und warum Profis wissen, was sie tun - Mi. 19.2.2025
- Debugmodus in WordPress aktivieren: So geht’s richtig - Di. 21.1.2025
- WordPress Multisite einrichten: mehrere Websites mit einer Installation betreiben! - Mo. 16.12.2024