Page redirection redirection

13

Est-il possible de rediriger les utilisateurs vers une page d'administrateur s'ils accèdent à une autre page d'administrateur?

Par exemple, si un utilisateur clique sur "toutes les pages" /wp-admin/edit.php?post_type=page

ils seraient redirigés vers "ajouter une nouvelle page" /wp-admin/post-new.php?post_type=page

    
posée Shae 14.05.2012 - 21:46

3 réponses

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;

    }

}

Lancez la fonction ci-dessus sur le crochet admin_init .

add_action( 'admin_init', 'disallowed_admin_pages' );

    
réponse donnée Michael Ecklund 19.02.2013 - 17:01
3

La solution de Michael semble être destinée à être utilisée dans une classe. Par conséquent, pour ceux qui souhaitent une fonction autonome fonctionnant directement dans functions.php, l'exemple ci-dessous inclut une redirection à partir de personnaliser.php vers une page d'options de thème et celle de La fonction originale 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');
    
réponse donnée user3245709 13.01.2016 - 11:34
0

Oui, cela est possible en ajoutant un action à admin_init . À ce stade, vous pouvez vérifier la demande uri de voyez si cela correspond à /wp-admin/edit.php?post_type=page et s'il émet une redirection vers la page d'ajout de messages: /wp-admin/post-new.php?post_type=page .

Egalement, la API de plug-in et le référence d'action sur le codex WordPress donne plus de détails sur les actions et leur fonctionnement.

    
réponse donnée ampt 15.05.2012 - 08:15

Lire d'autres questions sur les étiquettes