• Resolvido caricari

    (@caricari)


    estou tentando criar um menu de subcategorias, num template q estou fazendo

    Para esse sub menu Fiz o código abaixo:

    Moderador: Por favor, use o repositório de Códigos pastebin.com
    O código pode interagir com o sistema do Fórum, causando a perda do texto da postagem em alguns casos.
    O bloco de código que estava aqui, agora está em:
    http://pastebin.com/FKtiS9k7

    Funciona, mas sei q é um código burro.
    se alguém puder me ajudar… Sou designer e não programadora, engatinho nessa área.

    obrigada
    Carina

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • 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.

    Criador do tópico caricari

    (@caricari)

    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.

    Criador do tópico caricari

    (@caricari)

    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.

Visualizando 5 respostas - 1 até 5 (de um total de 5)

O tópico ‘Criar menu de subcategorias’ está fechado para novas respostas.