现在,我的网站在我的单页文章末尾随机显示了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)];
最合适的回答,由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,用于您希望在池中显示的顶级帖子。