Как вызвать пользовательскую запись с помощью функции get posts() вместо функции query posts()?


В настоящее время я использую query_posts для отображения этих пользовательских сообщений, но я почти уверен, что должен использовать get_posts(), чтобы написать их правильно.

<?php query_posts( array( 'type-mario' => 'games', 'showposts' => 10 ) ); ?>
<p>Mario games</p>
<?php while ( have_posts() ) : the_post(); ?>
 <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
 <h2><?php the_title(); ?></h2>
 </div>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

Спасибо за ваш совет.

Author: Johannes Pille, 2010-11-11

2 answers

Привет Элиум2009:

Используя ваш код, я думаю, это то, что вы искали? (обратите внимание, что WP_Query() - это просто более прямая версия get_posts()):

<?php $posts = WP_Query(array( 
   'taxonomy' => 'type-mario'
   'term' => 'games',
   'posts_per_page' => 10 
)); ?>
<p>Mario games</p>
<?php while ( $posts->have_posts() ) : $posts->the_post(); ?>
  <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <h2><?php the_title(); ?></h2>
  </div>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

Надеюсь, это поможет?

 12
Author: MikeSchinkel, 2010-11-11 23:34:02

На самом деле вы можете использовать любой из них, но если вы хотите использовать get_posts, вот как это делается:

<?php query_posts('post_type=games&posts_per_page=10'); ?>
<?php if(have_posts()) : while (have_posts() ) : the_post(); ?>
...
<?php endwhile; endif; ?>
 0
Author: eileencodes, 2010-11-11 22:22:35