Obtener nombres de taxonomías por ID de post

22 sept 2014, 09:23:06
Vistas: 88.6K
Votos: 8

Estoy intentando crear una página única donde muestro varios posts en una sola página. Hasta ahora todo bien. Funciona correctamente. Ahora muestro los posts en un bucle foreach donde verifico si están conectados a la página.

Lo que necesito es algo como wp_get_post_terms($post->ID); pero eso no funciona. Hay taxonomías personalizadas registradas.

¿Cómo puedo obtener todos los nombres de taxonomías por $post->ID?

1
Comentarios

¿Entonces, no necesitas obtener una lista de términos, sino una lista de las taxonomías a las que pertenecen estos términos que están asociados al post?

Pieter Goosen Pieter Goosen
22 sept 2014 10:03:00
Todas las respuestas a la pregunta 4
2
10

Oh, gracias por los consejos y la ayuda (Robert + Peter). El término me confundió :) Esto funcionó para mí:

$taxonomies=get_taxonomies('','names');
wp_get_post_terms($post->ID, $taxonomies,  array("fields" => "names"));
22 sept 2014 10:09:37
Comentarios

Deberías revisar mi respuesta aquí sobre taxonomías. Esto debería ayudarte a entender cuál es cuál. Recuerda aceptar tu propia respuesta

Pieter Goosen Pieter Goosen
22 sept 2014 10:11:52

@PieterGoosen gracias por tu comentario y el enlace a esa respuesta!

caramba caramba
22 sept 2014 10:14:19
0

Para cualquier tipo de publicación personalizada, puedes obtener fácilmente la lista de taxonomías del post actual. Copia y pega el siguiente código:

<?php if(have_posts()) : the_post();  
    $post_type = get_post_type(get_the_ID());   
    $taxonomies = get_object_taxonomies($post_type);   
    $taxonomy_names = wp_get_object_terms(get_the_ID(), $taxonomies,  array("fields" => "names")); 
    if(!empty($taxonomy_names)) :
       foreach($taxonomy_names as $tax_name) : ?>              
          <p><?php echo $tax_name; ?> </p>
       <?php endforeach;
    endif;
endif;  ?>   
27 nov 2019 06:50:37
4

Prueba get_the_term_list

<?php echo get_the_term_list( $post->ID, 'taxonomy', '', ', ' ); ?>

Puedes usar esto dentro del loop. También, cambia 'taxonomy' en el código anterior por el tuyo.

22 sept 2014 09:30:31
Comentarios

da un error: object(WP_Error)#2386 (2) { ["errors":"WP_Error":private]=> array(1) { ["invalid_taxonomy"]=>...

caramba caramba
22 sept 2014 09:35:25

Necesitarás cambiar Name of the taxonomy en el código anterior.

Robert hue Robert hue
22 sept 2014 09:36:24

Hay algunos nombres de taxonomía, y eso es lo que trato de averiguar cuáles son sus nombres..

caramba caramba
22 sept 2014 09:38:02

¡Excelente solución! Simple y limpio.

Himechi90 Himechi90
4 sept 2020 06:52:29
0
// Obtener la lista de términos de taxonomía para el post actual
$term_list = get_the_terms($post->ID, 'tu_taxonomia');
$types = '';
// Recorrer cada término y construir una cadena con sus slugs
foreach($term_list as $term_single) {
     $types .= ucfirst($term_single->slug).', ';
}
// Eliminar la última coma y espacio de la cadena
$typesz = rtrim($types, ', ');
// Mostrar los tipos
echo $typesz;
26 jul 2019 21:22:04