Mostrar el nombre de la categoría de un tipo de publicación personalizada

22 may 2015, 06:08:18
Vistas: 81.9K
Votos: 5

Tengo una consulta personalizada en la que estoy mostrando algunos resultados de publicaciones de un tipo de publicación personalizada llamada "staff". Este tipo de publicación personalizada está vinculado a una taxonomía personalizada llamada "department". Puedo mostrar los resultados, pero no puedo imprimir la categoría que está vinculada a cada publicación.

Este es mi código:

        <?php
          $args = array(
            'post_type' => 'staff', 'posts_per_page' => -1, 'orderby' => 'menu_order', 'order' => 'ASC',
            'tax_query' => array(
              array(
                'taxonomy' => 'departments',
                'field' => 'slug',
                'terms' => 'board'
              )
            )
          );
          $loop = new WP_Query( $args );
        ?>

        <?php if( $loop->have_posts() ): ?>

            <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

                    <p class="text-center name"><?php the_title(); ?></p>
                    <?php the_category(' '); ?>

            <?php endwhile; ?>        

        <?php endif; ?>

Creo que el problema es que estoy usando the_category() pero no estoy seguro.

¿Alguna idea de qué podría estar mal?

¡Gracias!

1
Comentarios

Los tipos de entradas personalizadas no tienen categorías. Parece que deseas recuperar los términos personalizados de la taxonomía "departments". Sin embargo, tu consulta ya está configurada para obtener solo el departamento "board", por lo que no tiene sentido recuperarlo. Si aún así deseas recuperarlo, revisa la función get_the_terms https://codex.wordpress.org/Function_Reference/get_the_terms

gdaniel gdaniel
22 may 2015 06:39:34
Todas las respuestas a la pregunta 4
1
15

Así que esto es lo que necesitaba:

<?php
$terms = get_the_terms( $post->ID , 'board' );
foreach ( $terms as $term ) {
echo $term->name;
}
?>
22 may 2015 06:42:13
Comentarios

¡GRACIAS! Me guiaste para descubrir cuál era mi propio problema. Muy agradecido.

Debbie Kurth Debbie Kurth
4 jul 2019 19:55:36
0

usa términos como este:

$terms = get_the_terms($post->ID, 'Ingresa_tu_taxonomia_aqui');
if ($terms && ! is_wp_error($terms)) :
    $tslugs_arr = array();
    foreach ($terms as $term) {
        $tslugs_arr[] = $term->slug;
    }
    $terms_slug_str = join(" ", $tslugs_arr);
endif;
echo $terms_slug_str;
27 dic 2016 00:51:14
1

En caso de que alguien esté buscando esto en 2019. Con esto obtendrás el nombre del TIPO DE ENTRADA PERSONALIZADA (Custom Post Type) con la URL

$terms = wp_get_post_terms( $post->ID, 'COLOCA-AQUÍ-TU-TAXONOMÍA');
foreach ( $terms as $term ) {
  $term_link = get_term_link( $term );
  echo '<a href="' . $term_link . '">' . $term->name . '</a>' . ' ';
}
21 abr 2019 07:50:40
Comentarios

Esta debería ser la respuesta correcta.

Nuno Sarmento Nuno Sarmento
20 nov 2020 00:48:35
0

$categories = get_terms(array( 'taxonomy' => 'course_categories', 'hide_empty' => false, ));

        $output .= '<select name="category">';
        $output .= '<option value="">Seleccionar Categoría</option>';
        foreach ($categories as $category) {
            
            $output .= '<option value="' . $category->slug . '">' . $category->name . '</option>';
            
        }

if (!empty($category_data)) { // Si hay una categoría seleccionada, filtrar por esa categoría $post['tax_query'] = array( array( 'taxonomy' => 'course_categories', 'field' => 'slug', 'terms' => $category_data, 'operator' => 'IN', ), ); }

6 dic 2024 12:36:41