Jan
2
2009

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().

Gostaste deste artigo? Recebe acesso a conteúdo exclusivo no teu email...

Subscreve a newsletter do muiomuio.net e recebe acesso a conteúdo exclusivo sobre como criar blogs de sucesso e promoções para ganhares dinheiro online. Ao subscreveres a esta newsletter o teu email será protegido e não será partilhado com outras pessoas ou entidades.

 
Opções

A tua privacidade é respeitada, podes anular a tua subscrição a qualquer momento apenas com 1 clique.

About the Author:

Front-end developer & blogger

4 Comments + Add Comment

  • Muito boa dica!!!

  • 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.

  • Iiiii, desculpa Mário, troquei os nomes…

    #fail. Me perdoa..

  • Parabéns pelo Blog.

    Sou principiante no WP, e na verdade gostaria de saber como faço para modificar/atualizar a lista do widget META/ADMINISTRAÇÃO do meu blog.

    Gostaria de poder colocar outros ou mesmo modicar os títulos.

    Agradecido.

Leave a comment

Advertisement

Newsletter

Opções

Subscreve as feeds

Review http://muiomuio.net on alexa.com

Facebook

Blogging Tip Blogs - BlogCatalog Blog Directory
More in WordPress Tutorials (104 of 129 articles)