在单个帖子页面上显示最近的帖子并排除活动的单个帖子

时间:2014-02-03 11:29:49

标签: php jquery wordpress

我正在开发一个关于wordpess的网站。

我有一个页面显示所有新闻标题(帖子标题)。 当点击一个标题时,我被引导到单个帖子页面。 我希望在每个帖子页面上显示我的单个帖子页面底部的5个最新帖子标题。 它使用此代码工作正常。

<?php $the_query = new WP_Query( 'showposts=5' ); ?>
<?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>

<?php the_time('y-m-d'); ?> 
<?php the_title(); ?> 
<?php the_content(); ?>
<?php endwhile;?>

我想要做的是排除我正在阅读的5个最新帖子的有效单个帖子,否则我的帖子会显示两次...

任何人都知道这是否可能以及我如何实现这一目标?

感谢您的帮助,

3 个答案:

答案 0 :(得分:0)

  $args = array('posts_per_page' => 5,
                  'post__not_in'   => $post->ID
    );

    $the_query = new WP_Query( $args );
while ($the_query -> have_posts()) : $the_query -> the_post();

 the_time('y-m-d');
 the_title(); 
 the_content(); 
endwhile;  wp_reset_query();  ?>

将$ post-&gt; ID传递给post_not_in数组

id将获取当前的帖子ID

答案 1 :(得分:0)

你可以使用get_post

示例:

<?php
$post = get_post($id); //assuming $id has been initialized
setup_postdata($post);

// display the post here
the_title();
the_excerpt();
the_post_thumbnail();

wp_reset_postdata();
?>

答案 2 :(得分:0)

我找到了解决方案,这是代码:

<?php $args = $args = array(
     'numberposts' => 5,
     'offset' => 0,
     'post__not_in' => array( $post->ID )
   );

  $myposts2 = get_posts($args);

 $the_query = new WP_Query( $args );
 while ($the_query -> have_posts()) : $the_query -> the_post();?>

     <div class="news">
     <?php the_post_thumbnail('full'); ?>
     <?php the_time('y-m-d'); ?>
     <?php the_title(); ?>
     <?php the_content(); ?>
     </div>

<?php endwhile;  wp_reset_query();  ?>

谢谢大家的帮助