Php Wordpress:通过自定义帖子类型循环,只返回给定分类法中的结果

Php Wordpress:通过自定义帖子类型循环,只返回给定分类法中的结果,php,wordpress,loops,custom-post-type,Php,Wordpress,Loops,Custom Post Type,我正在为唱片标签创建wordpress主题。一个方面是视频库 我用一种叫做“视频”的自定义帖子类型创建了这个图库。下面的代码是我在functions.php文件中设置post类型的代码: add_action( 'init', 'create_my_post_types' ); function create_my_post_types() { register_post_type( 'videos', array( 'labels' =

我正在为唱片标签创建wordpress主题。一个方面是视频库

我用一种叫做“视频”的自定义帖子类型创建了这个图库。下面的代码是我在functions.php文件中设置post类型的代码:

add_action( 'init', 'create_my_post_types' );
        function create_my_post_types() {

register_post_type( 'videos',
        array(
            'labels' => array(
                'name' => __( 'Videos' ),
                'singular_name' => __( 'Video' ),
                'add_new' => 'Add New Video',
                'edit' => 'Edit Video'
            ),
            'public' => true,
            'exclude_from_search' => false,
            'supports' => array( 'title', 'editor', 'thumbnail','page-attributes','excerpt' ),
            'rewrite' => array( 'slug' => 'videos', 'with_front' => false ),

        ));
    }
<?php $loop = new WP_Query( array( 'post_type' => 'videos', 'post_child' => 0, 'posts_per_page' => 5 ) ); ?>
    <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php the_post_thumbnail( 'video' ); ?>
<?php the_content(); ?> 
<?php endwhile; ?>
我还创建了一个名为“艺术家”的自定义分类法,这样我就可以为上传的每个视频指定艺术家名称

 add_action( 'init', 'create_videos_taxonomies' );

    function create_videos_taxonomies() {

        register_taxonomy(
            'artist',
            'videos',
            array( 
                    'hierarchical' => false,
                    'label' => 'Artist',
                    'query_var' => true,
                    'show_tagcloud' => true,
                    'show_ui' => true,
                    'rewrite'=>array('slug' => 'artists', 'with_front' => false)
                  )
            );
        }
此时,后端的一切工作正常,视频页面成功返回所有视频

在我的网站的另一个区域,我有每个艺术家的页面。在任何一个艺术家页面上,我都希望能够循环浏览我创建的自定义帖子类型中的所有视频,并且只返回给定分类法中的结果。下面是我循环自定义帖子类型的代码:

add_action( 'init', 'create_my_post_types' );
        function create_my_post_types() {

register_post_type( 'videos',
        array(
            'labels' => array(
                'name' => __( 'Videos' ),
                'singular_name' => __( 'Video' ),
                'add_new' => 'Add New Video',
                'edit' => 'Edit Video'
            ),
            'public' => true,
            'exclude_from_search' => false,
            'supports' => array( 'title', 'editor', 'thumbnail','page-attributes','excerpt' ),
            'rewrite' => array( 'slug' => 'videos', 'with_front' => false ),

        ));
    }
<?php $loop = new WP_Query( array( 'post_type' => 'videos', 'post_child' => 0, 'posts_per_page' => 5 ) ); ?>
    <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php the_post_thumbnail( 'video' ); ?>
<?php the_content(); ?> 
<?php endwhile; ?>


这将成功地循环浏览视频,并返回最近的5个。我需要它来循环浏览所有具有特定分类法slug或ID的视频。例如,我创建了一个名为“Smash Palace”的分类法,其中slug为“Smash Palace”,ID为“17”。你知道我如何循环使用这个自定义的post类型并只返回给定分类的结果吗?

我觉得你应该能够根据post\u类型和分类进行如下查询:

<?php $loop = new WP_Query( array( 'post_type' => 'videos', 'taxonomy_name' => $term, 'post_child' => 0, 'posts_per_page' => 5 ) ); ?>

因此,我们发现了类似的问题:

我觉得您应该能够根据post\u类型和分类进行如下查询:

<?php $loop = new WP_Query( array( 'post_type' => 'videos', 'taxonomy_name' => $term, 'post_child' => 0, 'posts_per_page' => 5 ) ); ?>

因此,我们发现了类似的问题:

是的,答案在这里给出:是的,答案在这里给出: