it-swarm.com.de

passwortgeschützte Seite für angemeldete Benutzer deaktivieren

Ist es möglich, Hooks in function.php hinzuzufügen, um die passwortgeschützte Seite für Back-End-Benutzer (angemeldete Benutzer) zu deaktivieren?

Ich benutze Biber Builder und wenn ich eine Seite oder einen Beitrag ändere, muss ich immer das Passwort der Seite eingeben, bevor ich auf den Builder zugreifen kann.

Vielen Dank.

4
sampaii

Deaktiviere den Post-Passwortschutz für (einige) Benutzer

Sie können versuchen, den post_password_required Filter (4.7+) für angemeldete Benutzer zu überschreiben:

add_filter( 'post_password_required', function( $returned, $post )
{
    // Override it for logged in users:
    if( $returned && is_user_logged_in() )
        $returned = false;

    return $returned;
}, 10, 2 );

oder deaktivieren Sie es für Benutzer mit einer bestimmten Funktion (z. B. manage_options):

add_filter( 'post_password_required', function( $returned, $post )
{
    // Override it for users with the 'manage_options' capability
    if( $returned && current_user_can( 'manage_options' ) )
        $returned = false;

    return $returned;
}, 10, 2 );

Wir könnten einen bestimmten Beitragstyp ansprechen mit:

add_filter( 'post_password_required', function( $returned, $post )
{
    // Target protected posts only
    if( ! $returned )
        return $returned;

    // Target logged in users only
    if( ! is_user_logged_in() )
        return $returned;

    // Target 'page' post type only
   if( 'page' !== get_post_type( $post ) )
        return $returned;

   // Override 
   return false;

}, 10, 2 );

'Geschützter' Text aus geschützten Beitragstiteln entfernen

Um das vorangestellte Geschützt aus dem Titel zu entfernen, können wir das geschütztes Titelformat für angemeldete Benutzer mit dem Filter protected_title_format anpassen:

add_filter( 'protected_title_format', function( $format, $post )
{
    if( is_user_logged_in() )
        $format = '%s';

    return $format;
}, 10, 2 );
4
birgire