I’m trying to query posts from a specific taxonomy of a custom post called ‘immobili’. This is the custom post declaration

        function wpse239701_immobili_post_type() {

        $labels = array(

            'name'                  => _x( 'Immobili', 'Post Type General Name', 'text_domain' ),

            'singular_name'         => _x( 'Immobili', 'Post Type Singular Name', 'text_domain' ),

            'menu_name'             => __( 'Immobili', 'text_domain' ),

            'name_admin_bar'        => __( 'Immobili', 'text_domain' ),

            'archives'              => __( 'Item Archives', 'text_domain' ),

            'parent_item_colon'     => __( 'Parent Item:', 'text_domain' ),

            'all_items'             => __( 'All Items', 'text_domain' ),

            'add_new_item'          => __( 'Add New Item', 'text_domain' ),

            'add_new'               => __( 'Add New', 'text_domain' ),

            'new_item'              => __( 'New Item', 'text_domain' ),

            'edit_item'             => __( 'Edit Item', 'text_domain' ),

            'update_item'           => __( 'Update Item', 'text_domain' ),

            'view_item'             => __( 'View Item', 'text_domain' ),

            'search_items'          => __( 'Search Item', 'text_domain' ),

            'not_found'             => __( 'Not found', 'text_domain' ),

            'not_found_in_trash'    => __( 'Not found in Trash', 'text_domain' ),

            'featured_image'        => __( 'Featured Image', 'text_domain' ),

            'set_featured_image'    => __( 'Set featured image', 'text_domain' ),

            'remove_featured_image' => __( 'Remove featured image', 'text_domain' ),

            'use_featured_image'    => __( 'Use as featured image', 'text_domain' ),

            'insert_into_item'      => __( 'Insert into item', 'text_domain' ),

            'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ),

            'items_list'            => __( 'Items list', 'text_domain' ),

            'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),

            'filter_items_list'     => __( 'Filter items list', 'text_domain' ),

        );

        $args = array(

            'label'                 => __( 'Immobili', 'text_domain' ),

            'description'           => __( 'Descrizione immobile', 'text_domain' ),

            'labels'                => $labels,

            'supports'              => array('title', 'thumbnail', 'editor'),

            'taxonomies'            => array('immobili_categories'),

            'hierarchical'          => true,

            'public'                => true,

            'show_ui'               => true,

            'show_in_menu'          => true,

            'menu_position'         => 5,

            'show_in_admin_bar'     => true,

            'show_in_nav_menus'     => true,

            'can_export'            => true,

            'has_archive'           => 'immobili',        

            'exclude_from_search'   => false,

            'publicly_queryable'    => true,

            'capability_type'       => 'page',

            'rewrite' => array(

                'slug' => 'immobili/%immobili_categories%',

                'with_front' => false

            ),              

        );

        register_post_type( 'immobili', $args );



    }

    add_action( 'init', 'wpse239701_immobili_post_type' );

function wpse239701_immobili_taxonomy() {  

    register_taxonomy(  

        'immobili_categories',  

        'immobili',        

        array(  

            'hierarchical' => true,  

            'label' => 'Categorie',

            'query_var' => true,

            'rewrite' => array(

                'slug' => 'immobili', 

                'with_front' => false

            )

        )  

    );  

}  

add_action( 'init', 'wpse239701_immobili_taxonomy' );

After, I tried to query the posts in the specific taxonomy page in this way:

<?php 

// WP_Query arguments
$args = array( 
'post_type' => 'immobili',
$tax_query = array(
    array(
        'taxonomy' => 'immobili_categories',
        'field' => 'slug',
        'terms' => 'realizzazioni',


    ),
),

);


// The Query
$query = new WP_Query( $args );

// The Loop
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        echo '<div class="columns small-12 medium-4 large-4">';
        echo the_title();
        echo '</div>';
    }
} else {
    // no posts found
}

// Restore original Post Data
wp_reset_postdata();

?>

but the query continues to give me back ALL ‘immobili’ posts and not the specific taxonomy I try to display (realizzazioni).

Where is the mistake?

Thank you!

Read more here: Query for a custom post taxonomy


Solution:

If you know the solution of this issue, please leave us a reply in Comment section, to update the question.


Wordpress related questions and answers: