0

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!

0

Please try this modification of your code:

$args = array( 
        'post_type' => 'immobili',
        'tax_query' => array(
                array(
                        'taxonomy' => 'immobili_categories',
                        'field' => 'slug',
                        'terms' => 'realizzazioni',
                ),
        ),
);


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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.