WordPress高级自定义字段关系单页

时间:2015-08-12 09:00:26

标签: php wordpress advanced-custom-fields

我有“俱乐部”的自定义帖子类型和“俱乐部活动”的自定义帖子类型。如何在单个活动页面(而不是while循环)上获取俱乐部的名称?

我已经搜索过并搜索过,但我能找到的就是让它循环播放。

以下是单个活动页面的代码。

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    <h1><?php the_title(); ?></h1>
    <section class="entry-content">     
    <ul>
        <li>Club Name: { get Club Name from Club post type relationship } </li>
        <li>Other detail: <?php the_field('blah_blah'); ?>
        <li>.....other details.....</li>
    </ul>
    <?php the_content(); ?>

    </section>
    <?php endwhile; endif; ?>

1 个答案:

答案 0 :(得分:0)

您需要为$ club post对象设置postdata才能访问它:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post();

    $club = get_field('club_field_name');
    if($club):
      $post = $club;
      setup_postdata($post);
      $club_name = get_the_title();
      wp_reset_postdata();
    endif; ?>

  <h1><?php the_title(); ?></h1>
  <section class="entry-content">
    <ul>
      <li>Club Name: <?php echo $club_name; ?> </li>
      <li>Other detail: <?php the_field('blah_blah'); ?>
      <li>.....other details.....</li>
    </ul>
    <?php the_content(); ?>
  </section>
<?php endwhile; endif; ?>

有几点:

  1. 您必须记得在致电wp_reset_postdata();后拨打setup_postdata($post);电话,否则页面的其他位置无法正常工作(因为您正在覆盖主页面)环)

  2. 如果您想链接到俱乐部页面,可以将我的代码移到<li>标签内,然后使用the_permalink();像往常一样输出页面的链接(我已经在你的代码之外完成了它以保持清晰)。

  3. 如果你仍然被困住,请给我一个喊叫。