Lista ultimas categorias filho usadas
-
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.
-
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çãoget_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; }
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 argumentochild_of
:`
<?phpwp_list_categories( array ( ‘child_of’ => {$id_da_categoria_mãe} ) );
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 Stackvc 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.
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 comget_categories($args)
, mas como faltou um s ali, ele estava interpretando como uma variável vazia.Obrigado amigo…
- O tópico ‘Lista ultimas categorias filho usadas’ está fechado para novas respostas.