バックエンドユーザー(ログインユーザー)のパスワードで保護されたページを無効にするためにfunction.phpにフックを追加することは可能ですか?
私はビーバービルダーを使用していて、ページを変更したり投稿したりするときは、ビルダーにアクセスする前に必ずページのパスワードを入力する必要があります。
ありがとう。
(一部の)ユーザーのパスワード後保護を無効にする
ログインしているユーザーのために post_password_required
filter(4.7+)をオーバーライドすることができます。
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 );
または特定の機能を持つユーザーに対して無効にする(例: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 );
特定の投稿タイプをターゲットに設定できます。
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 );
保護された投稿タイトルから「保護された」テキストを削除します
タイトルから先頭に追加されたProtectedを削除するには、 protected_title_format フィルタを使用して、ログインユーザーのprotected title formatを調整します。
add_filter( 'protected_title_format', function( $format, $post )
{
if( is_user_logged_in() )
$format = '%s';
return $format;
}, 10, 2 );