我需要在index.php中显示来自不同post_type(书籍,电影,音乐)的所有帖子
像这样:
BOOKS
Book 1
Book 2
Book 3
...
MOVIES
Movie 1
Movie 2
Movie 3
...
MUSIC
Music 1
Music 2
Music 3
...
有什么建议吗?
答案 0 :(得分:1)
我建议你编辑index.php模板页面并为每个帖子类型运行多个wp_queries。
// Setup arguments.
$args = array(
// Get the "movies" post type.
'post_type' => 'movies',
'post_status' => 'publish'
);
// Instantiate new query instance.
$my_query = new WP_Query( $args );
if($my_query->have_posts()):
while($my_query->have_posts()):
$my_query->the_post();
// Do your stuff here
endwhile;
endif;
wp_reset_query();
// Setup arguments.
$args = array(
// "music" post type.
'post_type' => 'music',
'post_status' => 'publish'
);
// Instantiate new query instance.
$my_query = new WP_Query( $args );
if($my_query->have_posts()):
while($my_query->have_posts()):
$my_query->the_post();
// Do your stuff here
endwhile;
endif;
wp_reset_query();
答案 1 :(得分:0)
前段时间我想做类似的事情,我遇到了这个answer by Tomás Cot
底线:
您需要指定要在post_type1
上显示post_type2
,post_type3
和line #3
的位置显示哪些类型,如果需要,您可以添加更多。
function add_custom_post_type_to_query( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'post_type', array('post', 'article', 'post_type1', 'post_type2', 'post_type3') );
}
}
add_action( 'pre_get_posts', 'add_custom_post_type_to_query' );
结果?
您添加的所有帖子类型都会添加到index.php
帖子查询中。
它们将像存档中的标准WordPress帖子一样显示