通过具有自定义分类的自定义帖子类型按类别ID获取帖子

问题描述 投票:1回答:1

这是我的脚本,用于创建自定义帖子类型及其分类。它成功创建了按类别ID清除后访问题。在我的类别中,我有3个帖子,但没有任何一个帖子。

用于创建代码:

function man_ourteam_custom_init() {
    $man_labels = array(
        'name' => 'Member',
        'singular_name' => 'ourteam',
        'add_new' => 'Add New',
        'add_new_item' => 'Add New Member',
        'edit_item' => 'Edit Member',
        'new_item' => 'New Member',
        'all_items' => 'All Member',
        'view_item' => 'View Member',
        'search_items' => 'Search Member',
        'not_found' => 'No Member found',
        'not_found_in_trash' => 'No Member found in Trash',
        'parent_item_colon' => '',
        'menu_name' => 'Our Team'
    );
    $man_args = array(
        'labels' => $man_labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'query_var' => true,
        'rewrite' => array('slug' => 'ourteam'),
        'capability_type' => 'post',
        'has_archive' => true,
        'hierarchical' => false,
        'menu_position' => null,
        'supports' => array('title', 'editor', 'thumbnail')     
    );
    register_post_type('ourteam', $man_args);

   register_taxonomy("member-category", array("ourteam"), array("hierarchical" => true, 'show_admin_column' => true,
        "label" => "Member Categories",
        "singular_label" => "Member Categories",
        "rewrite" => array('slug' => 'ourteam')));
}

add_action('init', 'man_ourteam_custom_init');

有关帖子,请获取代码:

我的类别ID是191,有3个帖子。

$ourteam_category_check = '191';

            $niche_ourteam_args = array(
                'post_type' => 'ourteam',
                'cat'   => $ourteam_category_check,                 
                'orderby' => 'post_date',               
                'order' => 'DESC',
                'post_status' => 'publish',
                'meta_query' => array(
                    array(
                        'key' => '_thumbnail_id',
                        'compare' => 'EXISTS'
                    ),
                )
            );          

            $niche_ourteam = new WP_Query($niche_ourteam_args);

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

                /*** My loop code ***/

            endwhile;
wordpress custom-post-type custom-taxonomy
1个回答
3
投票

您需要添加'tax_query',而不是'cat'。。

$ourteam_category_check = '191';

    $niche_ourteam_args = array(
            'post_type' => 'ourteam',
           // 'cat'   => $ourteam_category_check,                 
            'orderby' => 'post_date',               
            'order' => 'DESC',
            'post_status' => 'publish',
            'meta_query' => array(
                array(
                    'key' => '_thumbnail_id',
                    'compare' => 'EXISTS'
                ),
            ),
       'tax_query' => array(
            array(
                'taxonomy' => 'member-category',
                'field' => 'term_id',
                'terms'    => $ourteam_category_check
            ),
       ),
   );          

        $niche_ourteam = new WP_Query($niche_ourteam_args);

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

            /*** My loop code ***/

        endwhile;
© www.soinside.com 2019 - 2024. All rights reserved.