O WorddPress 3 está disponível há muito tempo, mas ainda existem TONELADAS de pessoas que não têm ideia de como usar o novo administrador de menu personalizado do WordPress. Por esse motivo, como desenvolvedor de temas, é importante mostrar um substituto para seu menu para que seus compradores/usuários do tema não pensem que algo está errado com seu tema. Abaixo vou mostrar o que eu acho que é a solução ideal, criando um fallback personalizado com um link para “wp-admin/nav-menus.php” para que quando o usuário instalar o tema ele possa clicar no link e ir configurar seu menu imediatamente.
Etapa 1: criar a função de fallback
A primeira coisa que vamos fazer é adicionar uma nova função ao seu arquivo functions.php (ou qualquer arquivo que você use para registrar suas áreas de menu personalizadas). Adicione o seguinte código, de preferência logo após a função register_nav_menu para melhor usabilidade. Esta função irá pegar o novo arquivo que você criará na etapa 2 com o código para seu menu padrão/fallback.
// Menu Fallback
function wpex_default_menu() {
get_template_part( ‘template-parts/default-menu.php’ );
}
Etapa 2: configurar seu menu padrão/fallback
Agora você precisa criar o arquivo que a função adicionada anteriormente irá capturar e exibir quando um menu não estiver definido no WP admin para sua área de menu.
uma. Crie uma nova pasta chamada “template-parts” na pasta do seu tema, se ainda não existir
b. Crie um novo arquivo chamado default-menu.php
3. Insira seu código para seu menu de fallback neste arquivo (certifique-se de que ele corresponde ao código usado em seu site para que fique bonito). Abaixo segue um exemplo básico:
<ul>
<li><a href=”<?php echo admin_url(‘nav-menus.php’); ?>”><?php esc_html_e( ‘Set Up Your Menu’, ‘text_domain’ ); ?></a></li>
</ul>
Etapa 3: chame sua função Fallback em seu menu
Agora você vai querer voltar para sua função “ wp_nav_menu ” e adicionar seu fallback como parte do array e chamar a função que você criou na primeira etapa, como no exemplo abaixo:
<?php
//define main navigation
wp_nav_menu( array(
‘theme_location’ => ‘main’,
‘fallback_cb’ => ‘wpex_default_menu’,
) ); ?>