Cómo obtener los términos de un tipo de publicación personalizada en un bucle dentro de footer.php

2

Creé un tipo de publicación personalizado llamado 'mapa' y registré una nueva taxonomía para él. Ahora, necesito obtener, a través de un bucle, cada término de 'mapa'. Hasta ahora, tenía una "taxonomía inválida" que no entiendo por qué. ¡Todo está funcionando perfectamente excepto esto!

Cómo registro mi nueva taxonomía (en functions.php):

function create_map_taxonomy() {
        $labels = array(
            'name'                       => _x( 'Map_Category', 'taxonomy general name', 'textdomain' ),
            'singular_name'              => _x( 'Map_Category', 'taxonomy singular name', 'textdomain' ),
            'search_items'               => __( 'Search Map_Category', 'textdomain' ),
            'popular_items'              => __( 'Popular Map_Category', 'textdomain' ),
            'all_items'                  => __( 'All Map_Category', 'textdomain' ),
            'parent_item'                => null,
            'parent_item_colon'          => null,
            'edit_item'                  => __( 'Edit Map_Category', 'textdomain' ),
            'update_item'                => __( 'Update Map_Category', 'textdomain' ),
            'add_new_item'               => __( 'Add New Map_Category', 'textdomain' ),
            'new_item_name'              => __( 'New Map_Category Name', 'textdomain' ),
            'separate_items_with_commas' => __( 'Separate Map_Category with commas', 'textdomain' ),
            'add_or_remove_items'        => __( 'Add or remove Map_Category', 'textdomain' ),
            'choose_from_most_used'      => __( 'Choose from the most used Map_Category', 'textdomain' ),
            'not_found'                  => __( 'No Map_Category found.', 'textdomain' ),
            'menu_name'                  => __( 'Map_Category', 'textdomain' ),
        );

        $args = array(
            'hierarchical'          => true,
            'labels'                => $labels,
        );
        register_taxonomy( 'map_category', 'map', $args );
    }
    add_action( 'init', 'create_map_taxonomy', 0 );

Y este es mi código en footer.php:

<?php 
    $args = array(
        'post_type' => 'map',
    );

    $map_query = new WP_Query($args);

    while ($map_query->have_posts()) : $map_query->the_post();

        $img_background = get_field('image_background');
        $cat = get_terms(get_the_id(), 'map_category');
        var_dump($cat);

    endwhile; 
    wp_reset_query();
    ?>

El resultado siempre es "taxonomía no válida". Pero, ¿cómo es una taxonomía no válida cuando puedo verla en las páginas de administración?

    
pregunta Citizen602214085 16.01.2018 - 21:17

1 respuesta

4

get_terms no es la función que necesita. Esta función recupera una matriz de objetos WP_Term para todos los términos dentro de la taxonomía dada

Actualice su código para utilizar wp_get_post_terms en lugar de get_terms . Puedes mantener los mismos parámetros. Esta función recuperará los términos utilizados en la publicación actual.

    
respondido por el Andrew 16.01.2018 - 23:03

Lea otras preguntas en las etiquetas