Заставьте WordPress прикреплять посты как обычно, используя caller_get_posts = 1 не работает - PullRequest
0 голосов
/ 18 декабря 2009

Я делаю определенный шаблон single.php. Он использует слайдер jQuery для перехода от одного поста к другому. Чтобы сначала показать правильный пост, мне нужно использовать 2 цикла - один для вызова первого отдельного сообщения, а затем другой цикл для вызова всех других сообщений в категории.

Это мне нравится (может быть, немного грязно, я не гуру PHP)

<ul id="tour-items">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<li>
 <h2><?php the_title(); ?></h2>
 <?php the_content(); ?>
</li>
<?php endwhile; endif; ?>
<?php $briefingsposts = new WP_Query(array(
 'caller_get_posts' => 1,
 'category_name' => Briefings,
 'offset' => 1
 )); ?>
<?php while ($briefingsposts->have_posts()) : $briefingsposts->the_post(); ?>
<li>
 <h2><?php the_title(); ?></h2>
 <?php the_content(); ?>
</li>
<?php endwhile; ?>

Однако, если первое сообщение является прикрепленным сообщением, оно повторяется в цикле категорий, несмотря на то, что 'offset' => 1, что, как я полагаю, происходит из-за того, что оно ведет себя липко и придерживается вершины.

Я пытался использовать 'caller_get_posts' => 1 в массиве, но, похоже, это не имеет никакого значения. Я не хочу исключать липкие посты, просто заставляйте их вести себя как обычно. Есть ли способ, который может работать в моих запросах?

Спасибо

Laura

1 Ответ

1 голос
/ 19 декабря 2009

Это:

$briefingsposts = new WP_Query(array(
 'caller_get_posts' => 1,
 'category_name' => Briefings,
 'offset' => 1,
 'post__not_in'=>get_option('sticky_posts')
 ));

Должен сделать свое дело.

...