wordpress中显示随机文章代码
代码
<?php
$rand_posts = get_posts('numberposts=10&orderby=rand'); // 10代表调用条数
foreach( $rand_posts as $post ) : //循环开始
?>
<li>
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</li>
<!--显示样式-->
<?php endforeach; ?>
<!--循环结束—>
## 函数解释
get_posts()
get_posts
是公共的函数,直接可以调用。
形式:
$posts=get_posts($arg);
#### 参数:
缺省的
$arg= array(
'numberposts'=> 5,
'offset'=> 0,
'category'=> 0,
'orderby'=> 'post_date',
'order'=> 'DESC',
'include'=> ”,
'exclude'=> ”,
'meta_key'=> ”,
'meta_value'=>”,
'post_type'=> 'post'
'suppress_filters'=> true
);
$arg
可以如上的数组,也可写成numberposts=5&category=1…
如此的字符串,但是注意,优先修改缺省定义,其次添加自己的定义。如:添加category_name的查询条件时,应同时修改category的值,建议只使用category查询,不要使用category_name。
调用机制:
get_posts()
生成一个新的wp_query类,把$arg传到wp_query->query($arg)去处理。wp_query->query实际是调用自身的get_posts过程,把$arg翻译成mysql的SELECT语句,然后发到$wpdb->query,调用mysql语句进行查询。
整个逆过程是:mysql SELECT——》$wpdb->query——》wp_query->get_posts——》wp_query->query——》get_post;
从整个过程可知:$wpdb是底层类,wp_query是基于$wpdb的衍生类,get_posts是开放的公用过程,整合的高级应用。
返回数值:$posts
the_permalink()
该标签显示当前被主循环(loop)处理的文章的固定链接URL。the_permalink()必须用在主循环(loop)中,该标签通常用来显示页面上文章的固定链接。由于the_permalink()只能显示正在被主循环处理的文章的固定链接,因此用户无法用它来显示任意文章。如果你希望显示某篇文章的固定链接,并且你知道这篇文章的ID,可以考虑使用get_permalink()
。
参数
该标签无参数
用法
<?php the_permalink(); ?>
the_title()
显示或返回内容页(Post)标题
用法:<?php the_title(‘before’,'after’,display); ?>
before
:(字符串)标题前面的文字,默认情况下不显示, after
:(字符串)标题后面的文字,默认情况下不显示 display
:(布尔)当布尔值为真时,显示标题(默认),当布尔值为假时,得
到标题的值但不显示