基本上我有这种情况。
我的第一步是使用数组过滤帖子,比如使用以下方法:
$posts = get_posts(array(
\'post_type\' => \'post\',
\'posts_per_page\' => 99999999,
\'meta_query\' => array(
array(
\'key\' => \'status\',
\'value\' => \'active\',
),
),
\'orderby\' => \'rand\'
));
那么,假设在上面的代码之后,我剩下了20篇随机帖子。
在第二步中,我使用PHP过滤器(这在上面的数组中是不可能的):
<?php
$postid = get_the_ID();
$a1=get_post_meta( $postid, \'a1\' , true );
$a2=get_post_meta( $postid, \'a2\' , true );
if ($a1 < $a2): ?>
<?php the_title(); ?>
<?php endif; ?>
上面的过滤器会过滤出结果,然后我现在只剩下5个post结果。
我的问题是,有没有php代码可以从列表中随机选择一篇文章?
我不需要5个,我只需要1个。
希望我明白了。
这里急需帮助。
SO网友:Hitesh Gandhi
Below code will help you to achieve 1 random post.
$posts = get_posts(array(
\'post_type\' => \'post\',
\'posts_per_page\' => 1,
\'meta_query\' => array(
array(
\'key\' => \'status\',
\'value\' => \'active\',
\'compare\' => \'=\', /* if equal to not works then you need to change \'IN\'*/
),
),
\'orderby\' => \'rand\'
));