Redirecionamento da página administrativa

13

É possível redirecionar os usuários para uma página de administração se eles acessarem outra página de administração?

Por exemplo, se um usuário acessar "todas as páginas" /wp-admin/edit.php?post_type=page

eles seriam redirecionados para "adicionar nova página" /wp-admin/post-new.php?post_type=page

    
por Shae 14.05.2012 / 21:46

3 respostas

15
/**
 * Redirect admin pages.
 *
 * Redirect specific admin page to another specific admin page.
 *
 * @author Michael Ecklund
 *
 * @return void
 */
 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' ), 301 );
        exit;

    }

}

Dispara a função acima no gancho admin_init .

add_action( 'admin_init', 'disallowed_admin_pages' );

    
por Michael Ecklund 19.02.2013 / 17:01
3

A solução de Michael parece ser destinada ao uso dentro de uma classe, portanto, para qualquer pessoa que queira uma função autônoma que trabalhe diretamente em functions.php, o exemplo abaixo inclui um redirecionamento de customize.php para uma página de opções de tema e a de Função original de 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');
    
por user3245709 13.01.2016 / 11:34
0

Sim, isso é possível adicionando uma ação a admin_init . Nesse momento, você pode verificar a solicitação para veja se ele corresponde a /wp-admin/edit.php?post_type=page e se ele envia um redirecionamento para a página Adicionar postagens: /wp-admin/post-new.php?post_type=page .

Além disso, a API de plug-in e o referência de ação páginas sobre o códice do WordPress entram em mais detalhes sobre ações e como elas funcionam.

    
por ampt 15.05.2012 / 08:15