Carina o mais simples seria vc criar um menu personalizado, aqui neste link tem como fazer isso
http://codex.wordpress.org/Function_Reference/register_nav_menus
Depois vc aplicaria este menu na parte do seu tema que vc pode ver neste link http://codex.wordpress.org/Function_Reference/wp_nav_menu
Depois é só personalizar pelo painel menus que se torna extremamente fácil criar e gerenciar seus menus depois.
Pode parecer complicado no início, mas na verdade não é não, tente e se precisar de mais ajuda posta ai que tentamos resover seu problema.
Olá,
Em primeiro lugar obrigada pela atenção…
Então antes de partir para esse código gigante eu havia feito criando um menu na pagina functions.php
if (function_exists('register_nav_menus')) {
register_nav_menus(array(
'main_nav' => 'Main Navigation Menu',
'nav_sup' => 'Menu Superior',
'nav_sec'=> 'Menu Secundario',
));
}
Se trata justamente desse menu secundário…
ele aparece na área admin e eu posso colocar as categorias q eu quiser,
só que eu quero que apareça na minha página category.php, no menu secundário APENAS as subcategorias da categoria parent que tiver sido selecionada no menu superior. e para isso ele não funcionou…
ele mostra todas as subcategorias que existirem nele e não APENAS as subcatorias da categoriaPARENT selecionada do menu superior.
Tentei vários tipos de if statements, mas não tenho base de programação, meu conhecimento nessa área é de mão na massa e fórums. então acabava fazendo besteira.
Se tiver alguma maneira de conseguir isso de forma diferente seria ótimo!
Obrigada mais uma vez
Carina
Entendi, neste caso o menu personalizado não serve pra vc.
No seu código acima que funciona reparei que só muda o número de categorias e neste caso vc poderia fazer a verificação pegando o número da categoria corrente que seria + ou – assim.
<?php if(is_category()){
$categories = get_the_category();
$n = $categories[0]->cat_ID;
wp_list_cats('sort_column=id&optioncount=0&use_desc_for_title=0&child_of=4');
}?>
Ou se vc tem IDs exatos a pesquisar deixando outros de fora vc pode criar um array com os números que vc deseja, que seria + ou – assim.
<?php $n = array('1','15','18','32');
if (is_category($n)){ ?>
<?php wp_list_cats('sort_column=id&optioncount=0&use_desc_for_title=0&child_of=4'); ?>
<?php } ?>
Se vc precisa mudar o child_of dependendo do número ID vc pode fazer + ou – assim
<?php $n = array('1','15','18','32');
if (is_category($n)){ ?>
<?php if($n == 1); $chid_of = 4; ?>
<?php wp_list_cats('sort_column=id&optioncount=0&use_desc_for_title=0&child_of='.$chid_of); ?>
<?php } ?>
Espero que isso lhe ajude a minimizar seu código ou que pelo menos lhe dê uma diração melhor.
Não esqueça de fazer backup do seu código antes de testar alterações.
esse código funcionou bem
<?php $n = array('3','4','18','32');
if (is_category($n)){ ?>
<?php if($n == 1); $chid_of = 4; ?>
<?php wp_list_cats('sort_column=id&optioncount=0&use_desc_for_title=0&child_of='.$chid_of); ?>
<?php } ?>
mas por exemplo, quando eu vou para a categoria PARENT ‘3’, ele continua trazendo as subcategorias do ‘4’.
Eu tenho como fazer essa parte $chid_of = 4; ao invéz de dizer q é child_of um número já definido, (4) ele buscar dinâmicamente qual a categoria que se encontra e buscar o child da categoria atual?
por que ai eu acho que iria funcionar para o que eu preciso….
E mais uma vez, THANKS!
Com minha estrutura de categorias não estou conseguindo testar essa sua configuração corretamente, dê uma olhada se alguns dos outros parâmetros da função pode lhe ajudar.
http://codex.wordpress.org/Function_Reference/wp_list_cats
Se vc conseguir que algum parâmetro funcione corretamente em determinada situação, posta o código aqui que tentamos adicionar ele dinamicamente só quando for necessário.
Se alterar o número de child_of em alguma circunstância se torna correto o código, também dá para acrescentar ou diminuir o número com algumas verificações.