你在这里走得对,但有点颠簸
首先,caller_get_posts
已折旧,已替换为ignore_sticky_posts
其次,你应该使用wp_reset_postdata
不wp_reset_query
. 后者与连用query_posts
绝对不能使用。
第三,对图像的调用应该在循环内部,而不是外部。
好的,已经清除了,如果在第一次查询之后需要其他帖子,您应该在这里运行两个循环。你应该看看WP_Query
运行多个循环时。但这一切都取决于你需要实现什么。只需注意,多循环上的codex页面使用query_posts
您不得使用。坚持WP_Query
要返回到上面的循环,应该如下所示
$args=array(
\'post_type\' => \'band_member\',
\'post_status\' => \'publish\',
\'posts_per_page\' => -1,
\'ignore_sticky_posts\'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
<-----get your images----->
<?php
endwhile;
}
wp_reset_query(); // Restore global post data stomped by the_post().
EDIT
因为你是个新手,这里有一个很好的建议。当您开发一个主题/插件时,或者只是简单地向主题添加代码时,请始终在wp config中将debug设置为true。php。如果有任何错误,这会立即将错误打印到屏幕上。请记住,在实时站点上永远不要将debug设置为true。完成后立即设置为false。
进一步阅读:Debugging Wordpress
EDIT 2
看看您现在发布的代码,您可以在一个循环中完成。您应该使用
rewind_posts()
在这里
<?php
$args=array(
\'post_type\' => \'band_member\',
\'post_status\' => \'publish\',
\'posts_per_page\' => -1,
);
$my_query = null;
$my_query = new WP_Query($args);
echo \'<div class="post-nav">\';
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
?>
<a href="<?php the_permalink() ?>"rel="bookmark" ><?php the_title(); ?></a>
<?php
endwhile;
}
echo \'</div><!-- end post nav -->\';
$my_query->rewind_posts();
while ($my_query->have_posts()) : $my_query->the_post();
?>
<a href="<?php the_permalink() ?>"rel="bookmark" ><?php the_post_thumbnail(); ?></a>
<?php
endwhile;
?>