每页发帖数+随机+排除类别

时间:2014-02-06 作者:Yves

我家里有以下代码。php

<?php query_posts($query_string . \'&orderby=rand\' . \'&cat=-182,-184\'); ?>
query\\u帖子似乎不是最好的解决方案。pre\\u get\\u post或WP查询的最佳方式是什么。

如果您也能编写正确的代码,我们将不胜感激。

谨致问候,

伊夫

2 个回复
SO网友:Brad Dalton

pre_get_posts 在我看来,您的子主题函数文件是最好的。

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

function wpsites_custom_get_posts( $query ) {

if( $query->is_main_query() && $query->is_home() ) {

$query->set( \'cat\', \'-182,-184\' );

$query->set( \'posts_per_page\', \'12\' );

$query->set( \'orderby\', \'RAND\' );
    }
}
我认为这种方法更灵活。

SO网友:NW Tech

您将要使用new WP_Query. Here\'s why.

以下是您可以尝试的示例:

$args=array(
    \'posts_per_page\' => -1,
    \'orderby\'   => \'rand\',
    \'category__not_in\' => array(182, 184)
);

$query = new WP_Query($args);

if( $query->have_posts() ) { while ($query->have_posts()) : $query->the_post();

    // Do loop stuff here

endwhile; }

wp_reset_query(); 

结束

相关推荐