Reordenar menu administrativo do WordPress

Reordenar menu administrativo do WordPress

O trecho de código abaixo permite a reordenação do menu principal lateral do WordPress.

Dê uma boa olhada no código e edite-o para que atenda às suas necessidades. Você pode colocar o código no arquivo functions.php.

<?php
/**
 * Reorder WordPress administration menu.
 *
 * en_US        pt_BR           - Page Name
 *
 * Appearence   (Aparência)     = themes.php
 * Settings     (Configurações) = options-general.php
 * Comments     (Comentários)   = edit-comments.php
 * Tools        (Ferramentas)   = tools.php
 * Media        (Mídia)         = upload.php
 * Dashboard    (Painel)        = index.php
 * Pages        (Páginas)       = edit.php?post_type=page
 * Profile      (Perfil)        = profile.php
 * Plugins      (Plugins)       = plugins.php
 * Posts        (Posts)         = edit.php
 * Users        (Usuários)      = users.php
 *
 * Contact      (Form contato)  = wpcf7
 *
 * @return  array|bool   New admin menu order
 */
function customize_menu_order( $menu_order ) {
    if ( ! $menu_order ) {
        return true;
    }

    return array(
        'themes.php',
        'options-general.php',
        'edit-comments.php',
        'tools.php',
        'wpcf7', // Contact Form 7 plugin
        'upload.php',
        'index.php',
        'edit.php?post_type=page',
        'plugins.php',
        'edit.php',
        'users.php',
    );
}

add_filter( 'custom_menu_order', 'customize_menu_order', 99 );
add_filter( 'menu_order', 'customize_menu_order', 100 );

Como reordenar itens do menu que são adicionados por plugins e temas?

No código acima não estão listados todos itens do menu, pois dependendo do seu tema e de quais plugins estão ativados, é possível ter um menu com muito mais itens.

Então, como descobrir o que deve ser colocado dentro do array? Veja a tabela abaixo e, em seguida, a explicação.

Os tipos de URI (para os itens do menu principal) podem ser divididos, basicamente, em 3:

#Modelo de URI (teoria)Exemplo de URI (prática)Identificador do item (para o array)
1/wp-admin/nome-da-pagina.php/wp-admin/themes.phpthemes.php
2/wp-admin/admin.php?page=id/wp-admin/admin.php?page=wpcf7wpcf7
3/wp-admin/edit.php?post_type=id/wp-admin/edit.php?post_type=pageedit.php?post_type=page

Vamos entender a tabela…

Usando o navegador Google Chrome, se você passar o cursor sobre os itens do menu principal do WordPress, note que é possível ver a URL completa daquele item olhando para o canto inferior esquerdo da página.

E caso tenha prestado bem atenção, deve ter percebido que na tabela a coluna Modelo mostra os possíveis formatos para as URIs (que você viu ao passar o mouse) dos itens do menu principal. Isso talvez seja meio confuso, e caso seja, não se preocupe, você pega rapidamente, pois é muito simples.

Para cada tipo de URI existe uma maneira de decifrar o que deve ser pego e colocado dentro do array.

Sublinhadas, na tabela, estão as strings que devem ser colocadas dentro do array. Essas strings são os identificadores dos itens de menu. E são esses identificadores que devem ser colocados dentro do array. Siga o exemplo da tabela e faça o teste com seus itens de menu.

Exceções para alguns itens do menu

A dica acima pode não funcionar para alguns itens do menu! A URI do item WooCommerce, por exemplo, aparece como …/wp-admin/edit.php?post_type=shop_order.

Então, seguindo o método deste post, a string edit.php?post_type=shop_order deveria ser colocada dentro do array.

No entanto, não iria funcionar…

Para mudar o item WooCommerce de lugar use apenas a string woocommerce, assim como foi usado wpcf7.


Filipe Seabra
Filipe Seabra
Full Stack Web Developer

Deixe um comentário