Как использовать get_posts() вместо query_posts() для получения произвольных записей?

11 нояб. 2010 г., 23:37:02
Просмотры: 24.5K
Голосов: 6

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

<?php query_posts( array( 'type-mario' => 'games', 'showposts' => 10 ) ); ?>
<p>Игры Марио</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(); ?>

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

0
Все ответы на вопрос 2
3
12

Привет, Elium2009:

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

<?php $posts = WP_Query(array( 
   'taxonomy' => 'type-mario'
   'term' => 'games',
   'posts_per_page' => 10 
)); ?>
<p>Игры Марио</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 нояб. 2010 г. 01:34:02
Комментарии

СПАСИБО !!!!!!!!!!!!!!!!! Именно то, что мне нужно :)

User User
12 нояб. 2010 г. 03:24:59

@Elium2009 - Пожалуйста. :)

MikeSchinkel MikeSchinkel
12 нояб. 2010 г. 10:25:31

new WP_Query(array(

fdrv fdrv
13 июл. 2020 г. 22:13:23
3

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

<?php query_posts('post_type=games&posts_per_page=10'); ?>
<?php if(have_posts()) : while (have_posts() ) : the_post(); ?>
...
<?php endwhile; endif; ?>
12 нояб. 2010 г. 00:22:35
Комментарии

Спасибо, но я хотел бы получить данные из моей пользовательской таксономии, связанной с моим пользовательским типом записей. В данном случае type-mario — это таксономия, связанная с пользовательским типом записей, а games — это термин. Как бы вы это реализовали?

User User
12 нояб. 2010 г. 00:34:46

Пробовали ли вы добавить таксономию и термин в приведённый выше код?<?php query_posts('post_type=games&posts_per_page=10&taxonomy=type_mario&term=games'); ?> <?php if(have_posts()) : while (have_posts() ) : the_post(); ?> ... <?php endwhile; endif; ?>

Drai Drai
5 апр. 2012 г. 07:00:49

Из документации по query_posts: Примечание: Эта функция полностью переопределяет основной запрос и не предназначена для использования в плагинах или темах.

Gavin Gavin
6 апр. 2020 г. 14:57:30