在wordpress中的functions.php中创建一个循环

时间:2014-02-20 06:59:09

标签: php wordpress function

我正在尝试使用自定义帖子类型管理器创建一个循环,该循环将作为标题中的自定义导航菜单使用。我在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
?>

1 个答案:

答案 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');

我假设您将其编写用于测试,因为它实际上覆盖了函数参数