No es necesario transformar el objeto en una matriz, puede trabajar perfectamente con el objeto sin demasiada molestia. Lo curioso (al menos para mí), es que se obtiene algo como esto:
Array
(
[0] => stdClass Object
(
[term_id] => 7
[name] => Magister comunicaciones aplicadas
[slug] => magister-comunicaciones-aplicadas
[term_group] => 0
[term_taxonomy_id] => 7
[taxonomy] => linea-de-estudio
[description] =>
[parent] => 0
[count] => 4
)
[1] => stdClass Object
(
[term_id] => 8
[name] => Engagement marketing
[slug] => engagement-marketing
[term_group] => 0
[term_taxonomy_id] => 8
[taxonomy] => linea-de-estudio
[description] =>
[parent] => 0
[count] => 5
)
)
Es básicamente, una serie de objetos, por lo que ha de tratarlos de esa manera. Por ejemplo, si quiero el nombre del primero:
$myterms = get_terms('taxonomy-name', 'orderby=none&hide_empty');
echo $myterms[0]->name;
Si necesita recorrer los elementos, puede seguir utilizando foreach();
.
foreach ($myterms as $term) { ?>
<li><a href="<?php echo $term->slug; ?>"><?php echo $term->name; ?></a></li> <?php
} ?>
De esta manera puede publicar los artículos de su taxonomía.
Para los tipos de envíos personalizados, tendrá que crear un bucle como este:
$args = array(
'post_type' => 'post-type-name',
'taxonomy' => 'term'
//for example
//'resources' => 'videos'
);
// assigning variables to the loop
global $wp_query;
$wp_query = new WP_Query($args);
// starting loop
while ($wp_query->have_posts()) : $wp_query->the_post();
the_title();
blabla....
endwhile;
continuación, puede crear múltiples bucles de cada uno de uno por cada taxonomía/término :).
Si quiere hacerse aún más elegante (no quiere repetirlo cien veces) puede incluir el segundo bucle dentro del primero y asignar variables a la taxonomía (recursos ie) y los términos que tiene (videos) (de su ejemplo solo el último). La idea es que tenga un bucle de wordpress normal (típico) restringido al tipo de publicación personalizado y en cada uno de los términos.
foreach ($myterms as $term) : ?>
<li><a href="<?php echo $term->slug; ?>"><?php echo $term->name; ?></a></li> <?php
$term_name = $term->slug;
$args = array(
'post_type' => 'post-type-name',
'taxonomy' => "$term_name"
);
// assigning variables to the loop
global $wp_query;
$wp_query = new WP_Query($args);
// starting loop posting only
while ($wp_query->have_posts()) : $wp_query->the_post();
the_title();
blabla....
endwhile;
endforeach; ?>
Obviamente se puede hacer lo inverso también, crear el bucle normal para un tipo personalizado de una sola plantilla (Es parece que tiene sólo uno), y en el interior incluye todos los términos personalizados.
No muy elegante, pero esa es la mejor manera que se me ocurre: P. Espero que alguien pueda entender esto, suena confuso.
¿Tal vez podría ser posible con alguna función de devolución de llamada ?.
Lo siento, poco confundido, por lo que desea enumerar todos sus tipos de publicaciones personalizadas, clasificadas por un impuesto personalizado? – TheDeadMedic
Deseo enumerar todas las publicaciones de un tipo de publicación personalizado, ordenadas por un término de taxonomía personalizado. – manon1165