관리 페이지 리디렉션


18

다른 관리자 페이지에 액세스하는 경우 사용자를 관리자 페이지로 리디렉션 할 수 있습니까?

예를 들어 사용자가 "모든 페이지"에 도달 한 경우 /wp-admin/edit.php?post_type=page

'새 페이지 추가'로 리디렉션됩니다. /wp-admin/post-new.php?post_type=page

답변:


24
/**
 * Redirect admin pages.
 *
 * Redirect specific admin page to another specific admin page.
 *
 * @return void
 * @author Michael Ecklund
 *
 */
function disallowed_admin_pages() {

    global $pagenow;

    # Check current admin page.
    if ( $pagenow == 'edit.php' && isset( $_GET['post_type'] ) && $_GET['post_type'] == 'page' ) {

        wp_redirect( admin_url( '/post-new.php?post_type=page' ) );
        exit;

    }

}

위의 기능을 후크에 발사하십시오 admin_init.

add_action( 'admin_init', 'disallowed_admin_pages' );

다른 구문 :

/**
 * Redirect admin pages.
 *
 * Redirect specific admin page to another specific admin page.
 *
 * @return void
 * @author Michael Ecklund
 *
 */
add_action( 'admin_init', function () {

    global $pagenow;

    # Check current admin page.
    if ( $pagenow == 'edit.php' && isset( $_GET['post_type'] ) && $_GET['post_type'] == 'page' ) {

        wp_redirect( admin_url( '/post-new.php?post_type=page' ) );
        exit;

    }

} );

3

Michael의 솔루션은 클래스 내에서 사용하기위한 것으로 보이므로 functions.php에서 직접 작동하는 독립형 함수를 원하는 사람은 아래 예제에 customize.php에서 테마 옵션 페이지로의 리디렉션과 Michael의 원래 함수에서 오는 리디렉션을 포함합니다. .

function admin_redirects() {
    global $pagenow;

    /* Redirect Customizer to Theme options */
    if($pagenow == 'customize.php'){
        wp_redirect(admin_url('/admin.php?page=theme_options', 'http'), 301);
        exit;
    }

    /* OP's redirect from /wp-admin/edit.php?post_type=page */
    if($pagenow == 'edit.php' && isset($_GET['post_type']) && $_GET['post_type'] == 'page'){
        wp_redirect(admin_url('/post-new.php?post_type=page', 'http'), 301);
        exit;
    }
}

add_action('admin_init', 'admin_redirects');

0

예, 액션 을 추가하면 가능 합니다admin_init ,에 .이 시점에서 요청 URI를 확인하여 요청이 일치 /wp-admin/edit.php?post_type=page하는지 확인하고 게시물 추가 페이지로 리디렉션이 발생하는지 확인할 수 있습니다 /wp-admin/post-new.php?post_type=page.

또한 플러그인 API 및 WordPress 코덱 의 작업 참조 페이지에서 작업 및 작동 방식에 대해 자세히 설명합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.