实用的WordPress函数使用说明、参数介绍(三)
在前面的文章中, 月夜为你介绍了用好Wordpress不可不知的前近20个函数,那些函数主要包括获取博客信息的函数,获取博客内容的函数以及一些用于判断是否能满足相 应条件的条件函数,等等。今天,月夜继续为你介绍WordPress的重要函数。本文中将要介绍的函数除get_bloginfo()外,几乎全部都是将 用在WordPress主题的侧边栏上的一些函数,比如get_posts()等等。
20.get_bloginfo()
该函数和我们前面的文章用好WordPress不可不知的函数(一)中介绍的bloginfo()函数实现近乎相同的功能。主要用来显示博客的信息;而且根据后跟参数的不同,会输出博客的不同信息。
其后不跟参数时,get_bloginfo()可以显示博客名称,形如“月夜”;
后跟其他参数时,可以显示对应的信息,比如get_bloginfo ( ‘description’ )用以显示博客描述信息;
其他还可以使用的参数包括name、url、wpurl以及admin_email等等。但因为其与bloginfo()函数实现相同的结果,所以,在bloginfo能够实现的情况下,月夜不推荐使用get_bloginfo()函数。
21.query_posts()
query_posts()函数结合适当的参数用来控制哪些文章会在页面上显示。
形如query_posts(”cat=3,6&cat=-5,-10″)表示取分类ID为3和6的文章显示,不取分类ID为5和10的文章显示;
形如query_posts(”order=ASC&showposts=10&offset=1&orderby=date&posts_per_page=5″)意义如下:
order=ASC表示按照升序排列,取为DESC则表示按降序;
showposts=10则表示获取10篇文章;
offset=1表示取最新的文章;
orderby=date表示将文章按照日期排序;
posts_per_page=5表示每页显示5篇文章。
需要注意的是该函数只是将文章内容从MySQL数据库中查询出来,要将其显示,还需要与其他语句配合,比如一个经常在侧边栏中使用的形式如下:
<li><h2>最近文章</h2>
<?php query_posts(’showposts=5&offset=1′); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href=”<?php the_permalink(); ?>” title=”<?php the_title(); ?>”><?php the_title(); ?></li>
<?php endwhile;?>
</ul>
</li>
如上的这段代码用以在侧边栏的指定位置上显示最新的5篇文章。
query_posts()函数后面可以跟众多种类的参数,功能十分强大,在此,我们不进行过多介绍。如果时间和精力允许,月夜会在以后的文章中专门撰文详细地为朋友们做一介绍。
22.get_posts()
该函数和query_posts()函数功能大体相同,都是用来从数据库中查询并得到符合某条件的文章。不过get_posts()函数的使用有一个固定的形式,如下:
<?php
$lastposts = get_posts(’numberposts=5′);
foreach($lastposts as $post) : setup_postdata($post);
?>
<h2><a href=”<?php the_permalink(); ?>” id=”post-<?php the_ID(); ?>”><?php the_title(); ?></h2>
<?php the_content(); ?>
<?php endforeach; ?>
即首先使用get_posts()函数查询得到文章数据,然后使用形如foreach($lastposts as $post) : setup_postdata($post);的循环将查询得到的文章内容显示出来。
get_posts()函数使用和query_posts()函数相同的参数,在此我们也不再作详细介绍。
23.wp_list_cats()
该函数和前文用好WordPress不可不知的函数(一)中wp_list_categories()函数实现相同的功能,不过在最新的WordPress版本中,此函数已经被弃用,其功能为wp_list_categories()函数完全取代。
24.get_calendar()
get_calendar()函数用以在WordPress上显示日历,日历样式和使用widget显示的效果相同,如下图所示:
其后可以跟一个BOOL参数,用以控制日历上方星期的显示样式。但经月夜测试,在中文状态下,使用TRUE或FALSE参数,日历的显示效果并没有什么区别。