在index.php上显示随机帖子,而不是最新帖子

时间:2012-08-24 作者:bracketboy

我有这些设置,所以只有一篇文章(默认情况下是最新的)显示有索引。php

我的当前工作代码

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
如何更改代码以显示任意类别/日期的随机帖子?

如果这有什么不同的话,只需要一个帖子就可以了。

非常感谢

3 个回复
最合适的回答,由SO网友:Scott 整理而成

在主题函数中放置以下代码。php文件。

function one_random_post_on_home_page( $query )
{
    if ( ! ( $query->is_home() && $query->is_main_query() ) )
        return;

    $query->set( \'orderby \', \'rand\' );
    $query->set( \'posts_per_page\', 1 );
}

add_action( \'pre_get_posts\', \'one_random_post_on_home_page\' );
我假设你说的是索引。php你是指你的博客主页。索引。主题中的php文件可用于网站的许多其他区域,因此在该文件中进行任何更改可能会在其他地方产生不希望的效果。

SO网友:Juan Pablo Cruz

将上述两个代码组合如下:

function one_random_post_on_home_page( $query )
{
    if ( ! ( $query->is_home() && $query->is_main_query() ) )
        return;
        query_posts(array(\'orderby\' => \'rand\', \'showposts\' => 1));
}

add_action( \'pre_get_posts\', \'one_random_post_on_home_page\' );

SO网友:OriginalEXE

尝试在当前代码上方发布此代码:

<?php query_posts(array(\'orderby\' => \'rand\', \'showposts\' => 1)); ?>

结束

相关推荐

Duplicate posts

我目前正在一个杂志风格的网站上工作,在主页上,我有三个不同的部分来显示最新的新闻。滑块、最新新闻和更多新闻。问题是我不知道如何避免每个帖子上出现重复帖子。以下是查询示例:// build query query_posts( $this->getQueryParams($type, $esc_category, $this->escapeText($data[\'number_of_posts\'])) ); // loop while (have_posts()) :