从一组帖子中随机发布帖子

时间:2017-10-16 作者:IXN

现在,我的网站在我的单页文章末尾随机显示了3篇帖子。下面是我使用的代码,它可以工作(带有注释):

                    <?php 
                    $rand_posts = get_posts(\'numberposts=3&orderby=rand&post_type=any&cat=-15\');    
                        /*  
                        Alternative Expression: (include all post types, exclude catefory \'site\' in the following code we define the post types explicitly instead of \'any\'")
                        $args = array(
                        \'orderby\'       => \'rand\',
                        \'posts_per_page\'   => 3,
                        \'category\'      => -1,
                        \'post_type\'     => array( \'post\', \'page\', \'oldp\' )
                        );
                        $rand_posts = get_posts( $args );
                        */

                        foreach( $rand_posts as $post ) : ?>
我希望随机的帖子是我最好的帖子,也就是说,从我会选择或以某种方式确定的帖子池。如何做到这一点。

我还有一个非常简单的随机引用代码,我想知道是否可以使用这样简单的代码来指定随机帖子池:

$quotes = array(
    \'Quote1\',
    \'Quote2\',
    \'Quote3\',
); 
return $quotes[rand(0, count($quotes)-1)];

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

快速(&A);简单:您可以使用post__in 在查询中使用池中的帖子ID,尽管添加和删除帖子时可能不太容易维护。

或者您可以使用元字段并更改查询以包含它,请参见WP_Query documentation. 然后在帖子编辑器中手动设置该字段,或者使用插件(高级自定义字段、自定义字段套件等pp)生成外观奇特的复选框。

要使用自定义字段版本,请将get\\u posts()调用从

$rand_posts = get_posts(\'numberposts=3&orderby=rand&post_type=any&cat=-15\');    

$rand_posts = get_posts(\'numberposts=3&orderby=rand&post_type=any&cat=-15&meta_key=toppost&meta_value=1\');    
假设要添加的元字段被调用toppost 您已经将其值设置为1,用于您希望在池中显示的顶级帖子。

结束

相关推荐

为自定义帖子类型/分类设置不同的POSTS_PER_PAGE

我有一个自定义的帖子类型,我想在我的网站上的分类页面上完全显示该帖子类型,而不是网站的常规博客部分。我制作了一个自定义分类法和帖子类型,如下所示:add_action(\'init\', \'create_post_types\'); function create_post_types() { register_taxonomy(\'tips-and-tricks-taxonomy\', \'tat\', array( \'hierarchical\'