我正在尝试使用自定义帖子类型管理器创建一个循环,该循环将作为标题中的自定义导航菜单使用。我在functions.php中创建一个函数,然后在header.php中调用该函数。我不能使用常规的“while:have posts etc.”,因为它实际上改变了页面内容。我只是想创建一个能够显示图像,自定义字段等的函数。
这是我的代码不起作用:
<?php
// Our Team Navigation Menu
function our_team_arg( $arg2 ) {
$arg2 = array('posts_per_page' => 60, 'post_type' => 'our_team');
query_posts($arg2);
$myposts = get_posts( $arg2 );
foreach ( $myposts as $post ) : setup_postdata( $post );
?>
<div class="founderblk">
<a href="<?php the_permalink(); ?>">
<img alt="<?php the_title(); ?>" src="<?php print_custom_field('team_member_image:to_image_src'); ?>">
</a><br />
<span class="foundertitle"><?php print_custom_field('team_member_title'); ?></span>
</div>
<?php
endforeach;
wp_reset_postdata();
}
// END Our Team Navigation Menu
?>
答案 0 :(得分:1)
您可以使用wp_query并使用,而通常情况下,当您使用wp_reset_postdata();
时,它不会更改页面内容
和query_posts实际上在内部调用wp_query
这是一个例子
$args = array('posts_per_page' => 60, 'post_type' => 'site-product');
// The Query
$custom_query = new WP_Query( $args );
if ( $custom_query->have_posts() ) {
while ( $custom_query->have_posts() ) { $custom_query->the_post(); ?>
<div class="founderblk">
<a href="<?php the_permalink(); ?>">
<img alt="<?php the_title(); ?>" src="<?php print_custom_field('team_member_image:to_image_src'); ?>">
</a><br />
<span class="foundertitle"><?php print_custom_field('team_member_title'); ?></span>
</div>
<?php
}
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
代码中的第二行
$arg2 = array('posts_per_page' => 60, 'post_type' => 'our_team');
我假设您将其编写用于测试,因为它实际上覆盖了函数参数