我正在尝试按类别id显示粘性帖子。会显示粘性帖子,但问题是已发布的粘性帖子会显示两次。
您可以从下面的快照中看到,相同的粘性贴子显示了两次(蓝色箭头高亮显示)。我不想在粘性新闻的子标题中显示粘性标题新闻。
您可以在下面的快照中看到。这些都是相同的新闻第一个箭头是粘性的,我从后端设置了第二个箭头,第二个箭头是相同的新闻,在下面显示粘性,请看这里,我不想显示第二个箭头新闻,它在这里显示了两次,我想显示除第二个箭头新闻以外的其他新闻。
下面是从widget post设置粘性的代码
<ul>
<?php
$args = array(
\'category_name\' => \'maharashtra\',
\'post__in\' => get_option( \'sticky_posts\' ),
\'showposts\' => \'1\',
);
$the_query = new WP_Query( $args );
while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
<li> <div class="thumbnail_class"><a title="<?php the_title(); ?>" href="<?php the_permalink() ?>" rel="bookmark"><?php the_post_thumbnail(array(342,173), array (\'class\' => \'alignleft1\')); ?></a></div>
<div class="link_contect"><a title="<?php the_title(); ?>" href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></div><li>
<?php
endwhile;
?>
</ul>
下面是显示最近帖子的示例代码。
<div class="home-post home-post-first green">
<h2><a href="http://majhapaper.com/test/विभाग/महाराष्ट्र/">महाराष्ट्र</a></h2>
<?php
$recent = new WP_Query("cat=255&showposts=6&ignore_sticky_posts=1");
?>
<ul>
<?php
while($recent->have_posts()) : $recent->the_post();
$postvariable++;
if ($postvariable == 1) {
?>
<li>[widget id="text-8"]</li>
<?php
} else { ?>
<li>
<div class="link_contect"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a>
</div>
最合适的回答,由SO网友:markcbain 整理而成
如果要从查询中完全删除粘性帖子,需要使用post__not_in
.法典中有一个例子,您可以根据自己的需要进行调整:
$paged = get_query_var( \'paged\' ) ? get_query_var( \'paged\' ) : 1;
$sticky = get_option( \'sticky_posts\' );
$args = array(
\'cat\' => 3,
\'ignore_sticky_posts\' => 1,
\'post__not_in\' => $sticky,
\'paged\' => $paged
);
$query = new WP_Query( $args );
http://codex.wordpress.org/Sticky_Posts
ignore_sticky_posts
不从查询中删除粘性帖子;它只是忽略了它们具有粘性的事实,并将它们按其自然位置列出。