Nova função Wordpress wp_page_menu()
O Wordpress 2.7 trouxe grandes alterações em todos os aspectos, algumas incluem template tags como a wp_page_menu() que permite ajuda a simplificar a criação de uma lista de páginas estáticas incluindo um link para a página inicial.
A função base é algo como:
<?php wp_page_menu(); ?>
A função conta com paramentos para ajudar na personificação:
sort_column
Ordena a lista de páginas numa ordem especifica. Os valores que podes usar com este parametro são post_name, post_title, post_date, menu_order, post_modified, ID e post_author.
menu_class
Define a class CSS usada no div que envolve a lista de páginas
echo
Esta variavel boleana define se o menu é visivel ou se apenas retorna valores para serem usados na programação PHP. O valor 1 significa que o menu é para output apenas o valor 0 define que o menu é usado com outros blocos de programação.
show_home
Cria um link para a página inicial. O valor 1 cria o link, o valor 0 não o cria.
link_before
Define o texto anterior ao código como texto âncora
link_after
Define o texto a seguir ao código como texto âncora
Como usar wp_page_menu()
Funciona tal e qual as outras funções do WordPress:
<?php wp_page_menu('sort_column=menu_order&menu_class=navegacao&show_home=1&echo=1'); ?>
Este código vai gerar um código HTML do género
<div class="navegacao">
<ul>
<li><a href="http://muiomuio.net/">Home</a></li>
<li><a href="http://muiomuio.net/about/">About</a></li>
<li><a href="http://muiomuio.net/contacto/">Contacto</a></li>
<li><a href="http://muiomuio.net/pesquisa/">Pesquisa</a></li>
</ul>
</div>
Este menu é o menu das páginas criadas no WordPress. Para garantir que o theme funciona em todas as versões do WordPress pode-se fazer a verificação com a função de php function_exists():
<?php
if (function_exists(wp_page_menu)) :
wp_page_menu('sort_column=menu_order&menu_class=nav&show_home=1&echo=1');
else :
?>
<div class="nav">
<ul>
<li <?php if (is_front_page()) echo 'class="current_page_item"' ?>><a href="< ?php bloginfo('url') ?>">Home
<?php wp_list_pages('sort_column=menu_order&title_li='); ?>
</ul>
</div>
< ?php endif; ?>
O código verifica se a função existe, caso não exista usa outro código para mostrar o menu de páginas estáticas recorrendo á função wp_list_pages().
































Pedro Rogério
January 3, 2009
Muito boa dica!!!
Gabriela
July 10, 2009
Oi Alessandro,
Valeu a dica!
… mas dá uma conferida na compatibilidade do teu tema: este post ficou com os códigos sobrepostos no Firefox/Ubuntu (ambos última versão). Aviso porque também ando maluca com essa babilônia de browsers!
Até mais.
Gabriela
July 10, 2009
Iiiii, desculpa Mário, troquei os nomes…
#fail. Me perdoa..