0

用好WordPress不可不知的函数

在讲述下面的WordPress函数之前,我们需要明确这样一点,所有的WordPress函数都是已经定义好的PHP函数,它们都需要写在PHP 语句中才能执行;而且,所有这些函数在PHP语句中都应以分号”;”结尾。其实,为了用好这些函数,为你的WordPress服务,你最好具有 PHP语言的基础。

1.wp_title()

该函数用来显示页面的标题,如在文章页面,则显示文章标题;在分类页面,则显示分类名称;等等。
wp_title()函数可以跟三个参数,即wp_title(‘separator’,echo,seplocation),其中 separator是title和其余部分之间的分割符号,默认是>>;echo是个bool变量,取true显示标题,取false则将标 题作为一个PHP参量返回;seplocation定义分隔符的位置,取right定义分隔符在标题后面,取其他任何值,都表示将分隔符放在标题前面。
比如主题文件夹下header.php中的一段代码:

<title>
<?php wp_title('|',true,'right'); ?>
<?php bloginfo('name'); ?> - <?php bloginfo('description'); ?>
</title>

2.wp_get_archives()

该函数用来获取博客的文章存档,通过设置函数的参数,可以按各种方式获取,如按月,按年等等。

wp_get_archives()函数后面同样可以跟多种参数,只不过所有参数都需要使用&连接,并放在单引号(‘)中以字符串方式传递 给函数,形如wp_get_archives(‘type=monthly&format=html& show_post_count=1&limit=10’)。

如上的参数意义描述如下:

type=monthly表示按月显示文章存档,可以使用yearly、daily、weekly等代替monthly表示按年、日、以及周显示文章存档;

format=html表示使用通常的HTML中

  • 格式化文章列表;

    show_post_count=1表示在文章存档后面显示属于该类别(年、月等)的文章数量,该参量是个bool值;

    limit=10表示显示的文章存档的最大数量为10,超过次数,则超出部分不显示;

    尽管参数稍多,显得略为复杂,但其实只需注意type、show_post_count以及limit等三个参量即可。

    3.wp_list_categories()

    和wp_get_archives()函数类似,wp_list_categories()函数用来获取博客文章的分类信 息,并可以通过设置适当的函数参数,将其显示出来。该函数的参数和wp_get_archives()函数类似,都需要使用&连接,放在单引号 (‘)中以字符串方式传递。形如wp_get_archives(‘orderby=name&order=ASC& show_count=1&use_desc_for_title=1&feed=订阅&exclude=2,5& number=10’)。

    如上示例中,函数各参数的意义如下:

    orderby=name表示按照分类名称的字母先后顺序显示分类信息,可以将name换为ID等;

    order=ASC表示按照分类名称的字母的升序显示分类信息,将ASC改为DESC表示按降序;

    show_count=1在每个分类名称后面显示属于该分类的文章数;

    use_desc_for_title=1使用该分类的描述信息为每个分类名称超链接添加一个title属性;

    feed=订阅:在每个分类信息旁边添加一个名为“订阅”的超链接,提供该分类的RSS订阅;

    exlude=2,5:在显示的分类中去除ID为2和5的分类;也可以用include=2,5表示只显示ID为2和5的分类;

    number=10:表示只显示最先的10个分类。

    4.get_the_category()

    get_the_category()函数用来返回当前文章所属的类别的若干属性所组成的一个数组,该数组包括以下内容:

    cat_ID:当前类别的ID(也可以写作’term_id’);

    cat_name:当前类别的名称(也被写作’name’);

    category_description:当前分类的描述(也可以写作’description’);

    category_count:属于当前分类的文章数量(也被写作’count’)。

    具体的使用方法,我们通过下面的几个句子来说明:

    形如get_the_category()->cat_ID的语句,返回当前文章所属分类的ID号;

    形如get_the_category()->description的语句,返回当前文章所属分类的描述;等等。

    5.the_category()

    该函数返回当前文章所属的类别名称,而且是文章类别的超链接形式。

    默认的无参数形式the_category()直接以超链接形式显示类别名称,例如显示为:精品推介;

    可以在函数中跟上分隔符等参数来格式化输出,如the_category(‘-‘),若当前文章属于两个以上分类,可以显示这样的形式:精品推介-经验知识;如只属于一个分类,则显示为这样的形式:精品推介。

    6.category_description()

    该函数以分类的ID为输入,得到该分类的描述。常和echo、get_the_category()配合使用,将当前分类描述输出:

    echo category_description(get_the_category()->cat_ID);

    如上语句,get_the_category()得到保存有当前分类信息的一个数组;cat_ID为该数组中该分类的ID;将该ID输入给category_description()函数,即可得到该分类的描述;然后使用echo将其输出。

    使用如下的语句可以实现和上面语句相同的功能:

    echo category_description();

    这可能是因为该函数在默认无参数输入的情况下会输出当前分类描述的结果吧。

    7.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()函数后面可以跟众多种类的参数,功能十分强大,在此,我们不进行过多介绍。

    8.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()函数相同的参数,在此我们也不再作详细介绍。

    已有 0 用户参与0
    0 : 0
    +1已打分
    分享到:
  • 已有 0 条评论