如何获得不同的相关帖子

时间:2019-09-16 作者:user718229

出于某种原因,我们的大多数博客页面显示相同或非常相似的相关帖子,Im使用以下代码:

$tags = wp_get_post_tags($post->ID);

  if ($tags) {
  $tag_ids = array();

       foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
 shuffle($tag_ids);
  $args=array(
 \'tag__in\' => $tag_ids,
    \'post__not_in\' => array($post->ID),
  \'posts_per_page\'=>4, // Number of related posts to display.
  \'caller_get_posts\'=>1,
    \'post_type\' =>\'therapyspark\'
  );

  $my_query = new wp_query( $args );

  while( $my_query->have_posts() ) {

  $my_query->the_post();
  ?>

  <div class="relateddiv"><div class = "relatedimg">
    <a rel="external" class = "relatedlink" href="<?php the_permalink()?>"><?php the_post_thumbnail(array(150,100)); ?><br />
    </div><div class = "relatedtitle"><?php the_title(); ?></div>
    </a>
  </div>



  <?php}
  }
  $post = $orig_post;
  wp_reset_query();
  ?>
洗牌似乎没有什么不同。如何显示不同的相关帖子

1 个回复
最合适的回答,由SO网友:Mike Baxter 整理而成

随机化标记对WP\\U查询没有多大影响。如果想要随机结果,请尝试添加\'orderby\' => \'rand\' 到您的$args。这将使返回的故事随机化。如果没有,请尝试应用shuffle()$my_query 在遍历它们之前。据报道,一些web主机已禁用\'orderby\'=>\'rand\' 查询帖子的方法。对于这些主机shuffle() 似乎仍能达到预期效果。

NOTE: 如果你和shuffle() 方法时,您可能希望将posts\\u per\\u page值替换为“-1”,并向输出循环添加循环计数器。否则,您将始终在洗牌前四个故事。

相关推荐

‘POSTS_PER_PAGE’=>‘10’不显示任何帖子

每个人我已经创建了一个自定义的\\u post\\u类型;function create_post_type_veranstaltungen() { register_post_type(\'veranstaltungen\', array( \'label\' => __(\'Veranstaltungen\'), \'public\' => true, \'show_ui\' => true,&#