随机排列的5个最受欢迎的帖子

时间:2016-11-03 作者:Ben Aerens

我有一个循环,显示了meta_value_num.我正在尝试随机排列最受欢迎的5个项目的顺序。知道为什么这个代码不起作用吗?

<?php query_posts(\'showposts=4&cat=-20,-54&orderby=meta_value_num&order=rand&meta_key=post_views_count&order=DESC\'); ?>

<? if (have_posts()) :
    while (have_posts()) : the_post();
        echo(\'<a href="\' . get_permalink() . \'">\' .ShortenText(get_the_title()). \'<br></a>\');
        $content = get_the_content();
        preg_match(\'#(<img.*?>)#\', $content, $results);
        echo(\'<a href="\' . get_permalink() . \'">\' . $results[1] . \'</br></a>\');
        ?></br><?
    endwhile;
endif;; ?>

1 个回复
SO网友:jgraup

您正在使用order 的参数不正确WP_Query.

顺序(字符串数组)-指定“orderby”参数的升序或降序。默认为“DESC”。一个数组可用于多个order/orderby集合<从最低值到最高值(1、2、3;a、b、c)的升序query_posts 看起来正在修改主查询。在这种情况下,请删除\'rand\' 从您的查询参数中,然后直接洗牌帖子。

query_posts(\'showposts=4&cat=-20,-54&orderby=meta_value_num&meta_key=post_views_count&order=DESC\');

global $posts;
shuffle($posts);

if (have_posts()) :
    //...
endif;

相关推荐

Changing slug of all posts

我有一个网站,有十几种自定义帖子类型。我想更改默认的帖子类型,使其URL有一段/news/。在我的函数文件中,我有: add_action( \'init\', \'change_post_object\' ); // Change dashboard Posts to News function change_post_object() { $get_post_type = get_post_type_object(\'post\');&#x