Wordpress自定义帖子类型中的Strage问题?

时间:2011-09-21 08:42:40

标签: wordpress

我有一个博客,我添加了一个自定义帖子类型'电影'。我把它链接到我的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(); ?>

但问题是,我点击任何一部电影,它只显示我同一部电影,我在自定义场电影上添加了最后一部电影(即阿凡达电影,如果我点击星际电影,它会显示我'阿凡达'电影链接。和其他人一样)

如果我在这里做错了,请帮助我并更改此代码。

2 个答案:

答案 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; ?>