我有两种不同的自定义帖子类型:“电影”和“按”具有不同的自定义字段。 现在我想在single.php中显示两个自定义字段。
home.php:
...
$query = array(
'post_type' => 'movies',
'posts_per_page' => 3,
);
$loop = new WP_Query( $query );
if ( $loop->have_posts() ) :
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="movie_cover">
<a href="<?php the_permalink() ?>"><img src="<?php the_field('cover'); ?>" title="<?php echo get_the_title() ?>" /></a>
</div>
...
single.php中:
get_header(); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'single', 'film' ); ?>
<?php endwhile; // end of the loop. ?>
<?php get_footer(); ?>
单film.php:
...
<img src="<?php the_field('cover'); ?>" title="<?php echo get_the_title() ?>" />
...
字段“封面”来自“电影”,但现在我想从“按”列出字段“发布”。 我需要第二个循环吗?
答案 0 :(得分:0)
如果您要添加movie_id自定义字段,请将其设置为电影的ID 然后你就可以在single-film.php里面做点什么了
query_posts('meta_key=movie_id&meta_value=' . get_the_ID());
并为评论做另一个循环
while have_posts() ...
还有很多额外的东西,但这应该让你进入 正确的方向。
我会考虑使用get_posts而不是query_posts来覆盖wordpress的主查询循环,但是你必须自己做手动循环:
$posts = get_posts('meta_key=movie_id&meta_value=' . get_the_ID());
foreach ($posts as $p) {
echo $p->post_title;
...
}