Ottenere le categorie figlie dalla categoria genitore
Sto cercando di ottenere tutte le categorie figlie da visualizzare in questo loop ma sto avendo difficoltà con il codice. Questo è quello che ho finora.
<?php $args=array('orderby' => 'name', 'order' => 'ASC');
$categories=get_categories($args);
foreach ($categories as $cat) { ?>
<dt><a href="#" class="customer-acquisitiontop" id="<?php echo $cat->slug; ?>" data-filter=".<?php echo $cat->slug; ?>"><h2><?= $cat->cat_name; ?></h2></a></dt>
<dd><div class="services">
<?= $categories=get_categories('parent'); ?> /* Questa dovrebbe essere la categoria figlia della categoria genitore */
</div>
</dd>
<?php } ?>
Qualsiasi aiuto sarebbe molto apprezzato

Non puoi semplicemente passare la stringa "parent" a get_categories
. Devi passare l'ID del genitore.
$categories=get_categories(
array( 'parent' => $cat->cat_ID )
);
Nota che ci sono due parametri "get child" simili ma non uguali che puoi utilizzare.
child_of (integer) Mostra tutte le categorie che sono discendenti (cioè figli e nipoti) della categoria identificata dal suo ID. Non c'è un valore predefinito per questo parametro. Se il parametro viene utilizzato, il parametro hide_empty viene impostato su false.
parent (integer) Mostra solo le categorie che sono discendenti diretti (cioè solo figli) della categoria identificata dal suo ID. Questo non funziona come il parametro 'child_of'. Non c'è un valore predefinito per questo parametro. [In 2.8.4]
Ora devi iterare su $categories
. Non puoi semplicemente echo un array.
foreach ($categories as $c) {
var_dump($c);
// quello che vuoi veramente invece di var_dump è qualcosa per
// creare markup— ad esempio elementi di lista. Per esempio...
echo '<li>'.$c->cat_name.'</li>';
}

Sfortunatamente, questo mi restituisce solo un output di Array. Nessun valore viene estratto.

'Array' è ciò che succede quando provi a fare echo di un array. Devi iterare sull'array e fare echo dei singoli elementi.

Potresti voler aggiungere 'hide_empty' => false per mostrare anche le categorie vuote.

opzionalmente, puoi ottenere l'ID della categoria in questo modo ->$categories = get_categories( array( 'parent' => get_cat_ID( 'Nome Della Tua Categoria' ) ) );
... purché il nome della categoria non cambi

Utilizza il codice qui sotto nel tuo file archive.php. Questo codice ti aiuterà:
$term = get_queried_object();
$children = get_terms( $term->taxonomy, array(
'parent' => $term->term_id,
'hide_empty' => false
));
if ( $children ) {
foreach( $children as $subcat ) {
echo '<li><a href="' . esc_url(get_term_link($subcat, $subcat->taxonomy)) . '">' . $subcat->name . '</a></li>';
}
}

Per ottenere le categorie figlie puoi utilizzare il seguente codice.
$category = get_queried_object(); // questo serve per ottenere la categoria genitore nell'archivio o in qualsiasi posto dove l'oggetto categoria viene chiamato.
$categories=get_categories(
array( 'parent' => $category->term_id,
'hide_empty' => false )
);
Nota :- Ho utilizzato 'hide_empty' => false per mostrare anche le categorie che non hanno alcun post al loro interno. Successivamente puoi utilizzare l'array $categories per fare un loop e creare il tuo markup.
