我有一个博客,我添加了一个自定义帖子类型'电影'。我把它链接到我的single-movies.php。并添加了此代码:
<div id="container">
<?php
$args = array( 'post_type' => 'movies', 'posts_per_page' => 1, 'name' => $_GET['movie'] );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<h1>
<a title="<?php the_title(); ?>" href="<?php the_permalink() ?>" rel="bookmark">
<?php the_title(); ?>
</a>
</h1>
<div class="entry-content">
<?php the_content(); ?>
</div>
</div>
<?php endwhile; ?>
</div>
<?php include(TEMPLATEPATH . '/sidebar_single.php'); ?>
<?php get_footer(); ?>
但问题是,我点击任何一部电影,它只显示我同一部电影,我在自定义场电影上添加了最后一部电影(即阿凡达电影,如果我点击星际电影,它会显示我'阿凡达'电影链接。和其他人一样)
如果我在这里做错了,请帮助我并更改此代码。
答案 0 :(得分:1)
当你在单一movies.php 这意味着你已经走在正确的道路上,比如/ movies / avatar
这样做一个简单的循环
<?php while (have_posts()) : the_post(); ?>
<?php the_title(); //.... ?>
<?php endwhile; ?>
为您提供头像电影的所有详细信息,您无需查询,因为查询已在您到达SINGLE电影页面时进行!
/ movies / avatar表示:
发布类型=电影
帖子名称=头像
如果你有漂亮的链接,$ _GET ['movie']它通常什么都没有。 它最好使用$ wp-&gt; query_vars ['post_name']来获取电影名称
尝试放置循环,看看你得到了什么,如果没有转储$ _GET和$ wp,看看你有电影名称的位置。
答案 1 :(得分:0)
你的循环有问题。 我会说使用foreach ...看看这个例子,也许它会帮助你。它与你想要实现的完全一样。
<?php
$cat_id = $category->cat_ID; // YOU CAN CHANGE THIS OR REMOVE
global $post;
$args = array( 'category' => $cat_id, 'numberposts' => -1 );
$myposts = get_posts( $args );
foreach( $myposts as $post ) : start_wp();
?>
<li class="subcat-post-title">
<span class="trigger">
<a class="ficha" href="<?php the_permalink() ?>">
<?php echo the_title(); ?>
</a>
<?php endforeach; ?>