auth_redirect()


WordPressの関数auth_redirect()は、ユーザーが認証されているかどうかを確認し、未認証の場合はログインページにリダイレクトするために使用されます。この関数は、管理エリアや特定の機能にアクセスする前に認証を強制するのに適しています。

構文

auth_redirect();

例1: 認証を強制する基本的な使用方法

特定のページで認証が必要な場合、次のコードを使用します。

<?php
add_action( 'template_redirect', function() {
    if ( is_page( 'private-page' ) ) {
        auth_redirect();
    }
} );
?>

例2: カスタム機能内での使用

特定のカスタム処理を保護するためにauth_redirect()を使用する場合の例。

<?php
function custom_protected_function() {
    auth_redirect();
    // 認証後に実行されるコード
    echo '認証されたユーザー専用のコンテンツです。';
}
add_shortcode( 'protected_content', 'custom_protected_function' );
?>

例3: 管理画面の保護

特定の管理画面ページを保護するためにauth_redirect()を使用する例。

<?php
add_action( 'admin_menu', function() {
    add_menu_page( '保護されたページ', '保護されたページ', 'read', 'protected-page', function() {
        auth_redirect();
        echo '管理者専用のコンテンツです。';
    } );
} );
?>

例4: リダイレクトURLを保持する場合

現在のURLを保持し、ログイン後にリダイレクトする場合の例。

<?php
add_action( 'template_redirect', function() {
    if ( is_page( 'redirect-page' ) ) {
        wp_safe_redirect( wp_login_url( get_permalink() ) );
        exit;
    }
} );
?>

例5: WooCommerceマイアカウントページの保護

ログインしていない場合にWooCommerceのマイアカウントページを保護します。

<?php
add_action( 'template_redirect', function() {
    if ( is_page( 'my-account' ) ) {
        auth_redirect();
    }
} );
?>

注意事項

  • auth_redirect()を使用する際には、既にヘッダーが送信されていないことを確認してください。
  • ログインページへのリダイレクトが正しく設定されていることを確認してください。

関連機能: