• Resolvido LucasMiqueias

    (@lucasmiqueias)


    Olá galera, tudo bom… Então sou novo aqui no fórum, mas já utilizou wordpress na minha rotina diária de web developer a alguns meses. Bom eu gostaria de pedir ajuda a vocês na seguinte situação, eu gostaria de listar as ultimas categorias filhas usadas, tentei usar wp_list_categories e consegui fazer uma parte do desejado, que era lista um determinado numero de categorias usadas recentemente, entretanto eu gostaria de listar apenas as categorias filhas não as mãe.

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • LucasMiqueias,

    tem duas formas de fazer isso. Uma é modificar o HTML final retornado usando o filtro wp_list_categories, mas talvez o ideal pra você seja usar a função get_categories() e iterar o array retornado pra retirar as categorias-mães.

    Algo assim:

    <?php
    
    $cats = get_categories($args);
    
    foreach($cat as $cat) {
            // Se não tem categoria-mãe, pular esta
    	if(!$cat->parent)
    		continue;
    
            // Imprime os nomes de cada categoria filha
    	echo $cat->name;
    }
    Criador do tópico LucasMiqueias

    (@lucasmiqueias)

    Tipo assim:

    $categories = get_the_category();
    $last_category = $categories[0];
    
    foreach($categories as $i => $category)
    {
    if($category->parent == $last_category->cat_ID)
    {
    $last_category = $category;
    }
    }

    o Problema é que eu não sou muito bom em php, se poder me da uma ajudinha agradeço muito, tipo eu consegui uma vez mais só por id de uma categoria.

    LucasMiqueias,

    Seu código não fez muito sentido, cara. O código que eu postei imprime os nomes das categorias que são filhas de todas as categorias-mães. Se vc quiser somente as categorias filhas de UMA categoria específica, aí pode usar wp_list_categories() mesmo, passando o o argumento child_of:

    `
    <?php

    wp_list_categories( array ( ‘child_of’ => {$id_da_categoria_mãe} ) );

    Criador do tópico LucasMiqueias

    (@lucasmiqueias)

    Pois é amigo, é justamente isso que eu quero a categoria filha de todas as categorias mães, o problema é que seu codigo não funcionou aqui, deu um erro. Ele precisa está dentro de loop?

    `Warning: Invalid argument supplied for foreach() in C:\wamp\www\wordpress\wp-content\themes\…\header.php on line 162
    Call Stack

    vc definiu os argumentos em $args? O erro quer dizer que ele não encontrou categorias, então ou vc não tem nenhuma cadastrada, ou ta faltando definir os argumentos. Veja o link pra get_categories() que eu postei acima.

    Criador do tópico LucasMiqueias

    (@lucasmiqueias)

    Sim, existe categorias mães, filhas. E sim, eu define o $args `<?php

    $args = array(
    ‘type’ => ‘post’,
    ‘parent’ => ”,
    ‘orderby’ => ‘count’,
    ‘order’ => ‘ASC’,
    ‘number’ => ‘5’,
    ‘number’ => ”,
    ‘taxonomy’ => ‘category’,
    ‘pad_counts’ => false

    );

    ?>`

    tinha um typo na minha primeira resposta, troque

    foreach($cat as $cat) {

    por

    foreach($cats as $cat) {

    e deve funcionar. O primeiro argumento do foreach() tem que ser sempre um array (por isso o erro). Nesse caso seria o array de dados que vc pegou com get_categories($args), mas como faltou um s ali, ele estava interpretando como uma variável vazia.

    Criador do tópico LucasMiqueias

    (@lucasmiqueias)

    Obrigado amigo…

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • O tópico ‘Lista ultimas categorias filho usadas’ está fechado para novas respostas.