Wordpress随机发布循环仅适用于某个类别的某些帖子

时间:2015-11-26 17:54:38

标签: php wordpress

随机循环中,是否有一种简单的方法可以说“从类别MyCat 整合发布1到10 ”?我问,因为我不希望随机循环整合我所有类别的帖子。这个脚本存在问题:

NotifySelectionChanged

我需要的是这样的事情:

<?php query_posts(array(
  'showposts' => 1,
  'orderby' => 'rand',
  'category_name' => 'MyCat'
));
if (have_posts()) : while (have_posts()) : the_post(); ?>

有人能帮助我吗?

3 个答案:

答案 0 :(得分:1)

您是否尝试过使用get_postsposts_per_page / numberposts选项?

<?php

$rand_posts = get_posts(array(
  'numberposts' => 10,
  'posts_per_page' => 10,
  'orderby' => 'rand',
  'category_name' => 'MyCat'
));

foreach ( $rand_posts as $post ) {
  setup_postdata( $post );
  the_post();
}; ?>

根据WordPress,query_posts为inefficient,showposts为may be deprecated

答案 1 :(得分:0)

首先点击Google:https://wordpress.org/support/topic/how-to-get-random-post

<?php query_posts('orderby=rand&showposts=1&cat=75,76,77'); ?>

答案 2 :(得分:0)

您可能正在寻找的是post__in选项:

query_posts(array(
    'showposts' => 1,
    'orderby' => 'rand',
    'category_name' => 'MyCat',
    'post__in' => array(1, 2, 3, ...)
));

这允许您定义将包含在查询中的特定帖子ID。

请注意,与category_name结合使用似乎不合逻辑,因为您可以指定确切的帖子ID。