Проблема Strage в Wordpress Пользовательский тип сообщения? - PullRequest
0 голосов
/ 21 сентября 2011

У меня есть блог, и я добавил один пользовательский тип записи «Фильмы».и у меня есть ссылка на мой 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 ]

1 голос
/ 21 сентября 2011

, когда вы находитесь в single-movies.php, это означает, что вы уже на правильном пути, например / movies / avatar

, поэтому простой цикл

<?php while (have_posts()) : the_post(); ?>
    <?php the_title(); //.... ?>
<?php endwhile; ?>

дает вам все деталидля аватара фильма вам не нужно запрашивать, потому что запрос уже сделан к тому времени, когда вы переходите на ОДНУ страницу фильма!

/ movies / avatar означает:

тип записи= movies

post name = avatar

также, если у вас есть красивые ссылки, $ _GET ['movie'] обычно ничего не содержит.предпочтительнее использовать $ wp-> query_vars ['post_name'], чтобы получить название фильма

попробуйте просто поставить цикл и посмотреть, что вы получите, если нет, то сбросьте $ _GET и $ wp, чтобы увидеть, гдеу вас есть название фильма.

0 голосов
/ 21 сентября 2011

у вас проблема с циклом. Я бы сказал, чтобы использовать 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; ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...