Php Wordpress:通过自定义帖子类型循环,只返回给定分类法中的结果
我正在为唱片标签创建wordpress主题。一个方面是视频库 我用一种叫做“视频”的自定义帖子类型创建了这个图库。下面的代码是我在functions.php文件中设置post类型的代码: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' =
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 ) ); ?>
因此,我们发现了类似的问题:
是的,答案在这里给出:是的,答案在这里给出: