2012年5月29日星期二

精通WordPress主题-5: 直接调用最新文章/随机文章/最新留言

在查看一些wordpress主题介绍的时候,你会发现有”不需要插件支持”这个说明,有的是功能不多,确实不需要什么插件,有的是直接使用Wordpress代码就实现一些强大的功能。诚然,对于一个主题设计者来说,能用简单的几行代码就实现一个体积庞大的插件才能实现的功能,是件幸福的事情。

在帕兰的精通wordpress主题系列里面,之前已经为你介绍过下面一些技巧:

今天我们来看一下,如何使用Wordpress模板代码直接实现一些常用的列表:最新文章随机文章最新留言

1. 最新文章

WordPress最新文章的调用可以使用一行很简单的模板标签wp_get_archvies来实现. 代码如下:

<?php get_archives('postbypost', 10); ?> (显示10篇最新更新文章)

 <?php wp_get_archives('type=postbypost&limit=20&format=custom'); ?>

后面这个代码显示你博客中最新的20篇文章,其中format=custom这里主要用来自定义这份文章列表的显示样式。具体的参数和使用方法你可以参考官方的使用说明- wp_get_archvies。(fromat=custom也可以不要,默认以UL列表显示文章标题。)

补充: 通过WP的query_posts()函数也能调用最新文章列表, 虽然代码会比较多一点,但可以更好的控制Loop的显示,比如你可以设置是否显示摘要。具体的使用方法也可以查看官方的说明。

2. 随机文章

<?php
$rand_posts = get_posts('numberposts=10&orderby=rand');
foreach( $rand_posts as $post ) :
?>
<!--下面是你想自定义的Loop-->
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>

补充: 上面提到的query_posts同样可以生成随机文章列表。

3. 最新留言

下面是我之前在一个Wordpress主题中代到的最新留言代码,具体也记不得是哪个主题了。该代码直接调用数据库显示一份最新留言。其中LIMIT 10限制留言显示数量。绿色部份则是每条留言的输出样式。

<?php
global $wpdb;
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type,comment_author_url,
SUBSTRING(comment_content,1,30) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND
post_password = ''
ORDER BY comment_date_gmt DESC
LIMIT 10";
$comments = $wpdb->get_results($sql);
$output = $pre_html;

foreach ($comments as $comment) {
$output .= "\n<li>".strip_tags($comment->comment_author)
.":" . " <a href=\"" . get_permalink($comment->ID) .
"#comment-" . $comment->comment_ID . "\" title=\"on " .
$comment->post_title . "\">" . strip_tags($comment->com_excerpt)
."</a></li>";
}

$output .= $post_HTML;
echo $output;?>

注:具体的演示效果可以查看本站的侧边栏。

来源于 精通WordPress主题-5: 直接调用最新文章/随机文章/最新留言 | 帕兰映像

没有评论:

发表评论