WordPress: Removendo links das páginas mãe

É muito fácil listar as páginas do seu site WordPress para criar um menu, para tanto basta utilizar o método wp_list_pages(); e estilizar, com CSS, da forma desejada. A coisa complica um pouco quando precisamos fazer aqueles menus drop down, onde a página mãe é listada no menu e ao passar o mouse por cima as páginas filho aparecem.

O wp_list_pages(); retorna a listagem de páginas com um código semântico que facilita a criação do menu drop down, mas a página pai continua com link para a página e na verdade o ideal é que a página pai não seja um link, afinal, provavelmente, a idéia dela é apenas categorizar as seções do site e não deve haver conteúdo algum.

Para resolver este problema você pode adicionar a função abaixo no arquivo functions.php do seu tema.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
function removeParentLinks() {
$pages = wp_list_pages('echo=0&amp;title_li=');
$pages = explode("</li>", $pages);
$count = 0;
foreach($pages as $page) {
if(strstr($page,"<ul>")) {
$page = explode('<ul>', $page);
$page[0] = str_replace('</a>','',$page[0]);
$page[0] = preg_replace('/\<a(.*)\>/','',$page[0]);
if(count($page) == 3) {
$page[1] = str_replace('</a>','',$page[1]);
$page[1] = preg_replace('/\<a(.*)\>/','',$page[1]);                
}
$page = implode('<ul>', $page);
}
$pages[$count] = $page;
$count++;
}
$pages = implode('</li>',$pages);
echo $pages;
}
?>

Agora ao invés de chamar a lista de páginas com o wp_list_pages(); você vai chamar a função removeParentLinks();

O código acima foi retirado do blog Bavotasan.



Se você gostou deste post, escreva um comentário e/ou cadastre-se em nosso feed.

Comentários

valeu !
obviamente usarei
abraço!

Desculpa, porem eu inseri o codigo porem ele não funcionou.

Escreva um Comentário

(obrigatório)

(obrigatório)