Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 列出来自不同自定义帖子类型的自定义字段_Wordpress_Custom Post Type_Custom Fields - Fatal编程技术网

Wordpress 列出来自不同自定义帖子类型的自定义字段

Wordpress 列出来自不同自定义帖子类型的自定义字段,wordpress,custom-post-type,custom-fields,Wordpress,Custom Post Type,Custom Fields,我有两种不同的自定义帖子类型:带有不同自定义字段的Movies和Press。 现在我想在single.php中显示这两个自定义字段 home.php: ... $query = array( 'post_type' => 'movies', 'posts_per_page' => 3, ); $loop = new WP_Query( $query ); if ( $loop->have_posts() ) : while ( $loop-&g

我有两种不同的自定义帖子类型:带有不同自定义字段的Movies和Press。 现在我想在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(); ?>
single-film.php:

...
<img src="<?php the_field('cover'); ?>" title="<?php echo get_the_title() ?>" />
...
“封面”字段来自电影,但现在我想列出“新闻稿”字段。
我需要第二个回路吗

如果您添加要按的电影id自定义字段,并将其设置为电影的id 然后您可以在single-film.php中执行类似的操作

query_posts('meta_key=movie_id&meta_value=' . get_the_ID());
并为评论做另一个循环

while have_posts() ...
有很多额外的东西,但这应该让你在未来的工作 方向正确

我会考虑使用GEGPOST而不是QueYePoST来不重写WordPress的主查询循环,但是您必须自己做手动循环:

 $posts = get_posts('meta_key=movie_id&meta_value=' . get_the_ID());

foreach ($posts as $p) {
echo $p->post_title; 
...
}

你是不是想得到每部电影的新闻稿?这可能有点复杂,因为你需要把电影和媒体联系起来。您可以在新闻稿上设置电影id自定义字段,然后进行查询。无论哪种方式,你都需要两个循环,一个用于电影,另一个用于它的发行版,每部电影。但现在我有了另一个想法:我只使用1个自定义的post类型电影,并在其中插入“release”字段。我想做的是:在所有的电影应该有2个链接:电影信息和新闻。电影信息显示标题、导演等。媒体也会显示所有这些信息,但还有一些自定义字段。所以我可以使用get_permalink制作电影,第二个链接如何制作?获取永久链接压力?我认为您的第一个想法2帖子类型更好、更干净,但它需要更多的工作。我现在正在写一个解决方案,你想在single film.php上显示评论吗?首先感谢你的快速回答:我仍然有这个问题。所以我想做的是:我有一个电影列表,比如《阿凡达》。在这部电影下,我想要2个链接:-电影信息,它检索来自自定义帖子类型电影的所有信息。这适用于get_permalink按这应该会显示电影中的所有信息,但除了自定义帖子类型的所有字段。您可以创建一个页面模板,从中提取所有信息,您可以使用此页面的get_permalink来代替帖子。您可以使用短代码来显示信息。这将是最好的插件,当我有时间,我会尝试把这样的东西一起为你。谢谢piotr。对于第二个链接,我找到了答案。我已经在我的循环中放了一个循环