0

概述

所以我有两种不同的自定义帖子类型。乐队视频。添加视频后,您可以选择是否在视频中显示乐队。然后我使用:

<?php if( get_field( "featured_band" ) ): ?>

                    <div class="ox_video">
                        <h3><a href="<?php the_permalink(); ?>"><?php the_field('video_title') ;?></a></h3>
                        <?php 

                        $bands = get_field('featured_band');

                        ?>
                        <?php if( $bands ): ?>
                            <p>Bands in this video: 
                            <?php foreach( $bands as $band ): ?>
                                <span class="vid_meta"><a href="<?php echo get_permalink( $band->ID ); ?>">
                                    <?php echo get_the_title( $band->ID ); ?>
                                </a></span>
                            <?php endforeach; ?>
                            </p>
                        <?php endif; ?>
                        <div class="warrior_vid_item"><?php the_field('video_embed_code') ;?></div>
                        <div class="video_desc"><?php echo custom_field_excerpt(); ?></div>
                    </div>

                <?php else : ?>

                <?php endif; ?> 

这会查看添加了哪个乐队并将它们循环播放并将其作为链接吐出,有人可以单击该链接并将他们带到该乐队页面。完美的。但现在我想去乐队自定义帖子类型并制作任何带有乐队特色的视频,出现在bands-single.php上

我将如何使用高级自定义字段插件来做到这一点?

我确实尝试过:

<?php if( get_field( "video_title" ) ): ?>

                    <div class="ox_video">
                        <h3><a href="<?php the_permalink(); ?>"><?php the_field('video_title') ;?></a></h3>
                        <?php 

                        $bands = get_field('video_title');

                        ?>
                        <?php if( $bands ): ?>
                            <p>Bands in this video: 
                            <?php foreach( $bands as $band ): ?>
                                <span class="vid_meta"><a href="<?php echo get_permalink( $band->ID ); ?>">
                                    <?php echo get_the_title( $band->ID ); ?>
                                </a></span>
                            <?php endforeach; ?>
                            </p>
                        <?php endif; ?>
                        <div class="warrior_vid_item"><?php the_field('video_embed_code') ;?></div>
                        <div class="video_desc"><?php echo custom_field_excerpt(); ?></div>
                    </div>

                <?php else : ?>

                <?php endif; ?> 

我无法理解的是,从乐队的角度来看,这种关系是如何运作的。帮助将不胜感激。如果您需要查看更多代码,请告诉我。

4

2 回答 2

0

从 ACF 网站: http: //www.advancedcustomfields.com/resources/relationship/

“可以对帖子(帖子 A)执行反向查询,以找到所有选择它(帖子 A)的帖子(帖子 B、帖子 C)。要了解有关反向查询的更多信息,请阅读以下内容-深度教程: http: //www.advancedcustomfields.com/resources/tutorials/querying-relationship-fields/ "

这两页中非常全面地介绍了两种查询方式。

于 2015-01-06T03:31:56.707 回答
0

如果通过在视频自定义帖子类型中选择相关频段来定义关系,那么为了获取特定频段的视频,您需要进行反向查找。据我所知,没有高级自定义字段功能可以为您执行此操作,因此您需要编写自己的查询。像这样的东西:

$videos = get_posts(array(
  'post_type' => 'video',
  'meta_query' => array(
     array(
       'key' => 'featured_band', 
       'value' => '"' . $post->ID . '"', 
       'compare' => 'like'
     )
   )
));
于 2013-08-29T20:31:48.083 回答