Obtener taxonomía personalizada desde un tipo de entrada personalizada

2 jul 2014, 21:16:03
Vistas: 69.6K
Votos: 14

Tengo un tipo de entrada personalizada (custom post type) llamado email_block y una taxonomía personalizada llamada block_type. Necesito recorrer todos los bloques de correo electrónico para averiguar qué taxonomía personalizada (block_type) tienen. Sé cómo obtener todos los tipos de entrada personalizados email_block, pero estoy teniendo dificultades para encontrar a qué block_type pertenecen.

Este es el código que tengo hasta ahora. Estoy usando un campo de relación de Advanced Custom Fields para filtrar qué bloques de correo electrónico quiero mostrar.

<?php

$posts = get_field('block_selector');

if( $posts ): ?>
    <ul>
    <?php foreach( $posts as $post): // la variable debe llamarse $post (IMPORTANTE) ?>
        <?php setup_postdata($post); ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            <span>Campo personalizado desde $post: <?php the_field('author'); ?></span>
        </li>
    <?php endforeach; ?>
    </ul>
    <?php wp_reset_postdata(); // IMPORTANTE - reinicia el objeto $post para que el resto de la página funcione correctamente 
    endif; ?>
0
Todas las respuestas a la pregunta 2
2
37

¿Te refieres a get_the_terms()?

<?php 
    $terms = get_the_terms( $post->ID, 'block_type' ); 
    foreach($terms as $term) {
      echo $term->name;
    }
?>

¿O lo he simplificado demasiado?

2 jul 2014 21:47:27
Comentarios

¡Eso era exactamente lo que estaba buscando! Gracias :)

imz imz
3 jul 2014 01:12:34

¿Hay alguna forma de conocer la jerarquía de las taxonomías personalizadas y pasarla a la salida?

dubbs dubbs
19 nov 2022 09:47:07
2

esta es la mejor forma de hacerlo

<?php
            $taxonomy = 'movies-category';
            $terms = get_object_term_cache( $post->ID, $taxonomy );
            $output = '';
            foreach($terms as $term) {
                if(!empty($output))
                    $output .= ' | ';
                    $output .= '<span class="cat"><a href="'. esc_url( get_term_link( $term )). '">'.$term->name.'</a></span>';
                }
            echo $output;
        ?>
13 abr 2020 16:22:32
Comentarios

¿Hay alguna forma de conocer la jerarquía de las taxonomías personalizadas y pasarla a la salida?

dubbs dubbs
19 nov 2022 09:46:49