Je n'arrive pas à comprendre comment changer la vue par défaut pour "Pages" dans le menu d'administration.
La vue initiale est la vue "Pages" (/wp-admin/edit.php?post_type=page
)
Comment pourrait-il changer cela en quelque chose d'autre?
Like "Ajouter une nouvelle page" ? (/wp-admin/post-new.php?post_type=page
)
J'ai essayé plusieurs options, y compris la reconstruction du menu avec un menu personnalisé, mais il semble que WordPress continue de rediriger automatiquement la vue "Pages" (/wp-admin/edit.php?post_type=page
) .
[Mise à jour]
Réponse réécrite, basée sur cette autre question/réponse .
Pour y parvenir:
Utilisez ce code:
add_filter( 'custom_menu_order', 'wpse_48933_submenu_order' );
function wpse_48933_submenu_order( $menu_ord )
{
global $submenu;
// Enable the next line to inspect the $submenu values
// echo '<pre>'.print_r($submenu,true).'</pre>';
$arr = array();
$arr[] = $submenu['edit.php?post_type=page'][10];
$arr[] = $submenu['edit.php?post_type=page'][5];
$submenu['edit.php?post_type=page'] = $arr;
return $menu_ord;
}
Dans un plugin personnalisé, utilisez ce PHP pour supprimer la page Pages.
add_action( 'admin_menu', 'my_custom_pages' );
function my_custom_pages() {
remove_menu_page('edit.php?post_type=page'); // Pages
add_menu_page('Pages', 'Pages', 'author', 'pages', 'my_custom_menu_page' );
}
function my_custom_menu_page() {
// The function to load your new page
}
Cela nécessitera une personnalisation, mais cela prendra soin de retirer l'original et de le remplacer par le vôtre.
Une autre façon de faire consiste à ajouter votre variable de requête personnalisée au chargement de la page.
add_action('pre_get_posts', 'my_custom_query_vars' );
function my_custom_query_vars() {
$screen = get_current_screen();
if ( $screen->id == 'edit-page' ) {
set_query_var( 'orderby', 'custom_page_order' );
}
}