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 );
- Rezension vs. Rezession - Mi. 27.12.2023
- Was Corona und Lotto gemeinsam haben - Di. 9.11.2021
- Heute vor 20 Jahren hat das große Abenteuer Segeln für mich begonnen :-) - Mi. 28.4.2021