WordPress主题(模板)修改教程(四):常用的wordpress主题函数和作用

十一月 23
磊子 2011年 11 条评论

今天继续为大家讲解,上一篇磊子结合默认主题讲解了下主题(模板)文件结构和作用今儿也会结合默认主题说下wordpress主题中需要用到的函数和它的作用。用法的话磊子会在后面章节具体用到时在具体讲下,今天只讲主题常用函数是什么。先让大家有个了解,废话不多说进入正题。

首先我们在做网站时脑子里要有个大概,想你这个网站的整体结构。是上,中,下型呢,还是左,中,右呢,自己得有个思路。不过一般都是从上往下,也就是头部中间和底部,那我们先从头部开始讲起。wordpress的header.php文件中 <head></head>之间需要用到的一些函数。(建议大家不管在看什么教程的时候,先提前把需要的文件都准备好,边看边操作影响更深刻,呵呵)

1. <?php language_attributes(); ?> 这个函数用于声明网页所使用的语言,如果你的主题是用于中文站点,而且文字方向是从左往右读那么在查看源码的时候会看到dir=”ltr” lang=”zh-CN”这么一小段。主要放在<html>里面。

2.<?php bloginfo(‘charset’); ?>这个函数用于声明网站的编码,这个编码可以在WordPress后台 – 设置 – 阅读,最后一个选项”页面和 feed 编码”那里设置,一般都是 UTF-8。

3.<?php wp_title( ‘|’, true, ‘right’ ); ?> 该标签显示或返回页面的标题。可定义一个分隔符也就是里面的’|’。

4.<?php bloginfo(‘name’); ?>用于输出博客网站的名称,可以在WordPress后台 – 设置 – 常规站点标题那儿修改。

5.<?php bloginfo( ‘description’ ); ?> 站点的描述,可以在WordPress后台 – 设置 – 副标题那儿修改。

6.<?php bloginfo(‘url’); ?>用于输出博客的”站点地址(URL)”,可以在WordPress后台 – 设置 – 常规那里找到。

7.<?php bloginfo(‘stylesheet_url’); ?>用于输出博 客的”style.css文件的地址”,如果你不知道这个地址是什么,可以打开你的网站首页,然后用浏览器的”查看源代码”功能来查看网页的源代码,查找 style.css,应该可以找到http://example/wp-content/themes/XXX/style.css使用了这个函数就省去了写这么长的地址。

8.<?php bloginfo(‘stylesheet_directory’); ?>用于输出博客的”style.css文件所在的目录”,如http://example/wp-content/themes/XXX。

9.<?php bloginfo(‘rss2_url’); ?>用于输出你的feed的网址,一般形式如: http://example/feed。

10.<?php bloginfo(‘pingback_url’); ?>用于输出你的pingback的网址。(pingback大概意思就是说别人引用了你的文章也加上了你网站的链接,你就会受到pingback的信息。)

11.<?php wp_head(); ?> 这个函数是非常重要的,大家可以理解成我们装的插件和主题的接口,一些插件的作用是通过这个函数显示在主题上面的。还有一个是wp_footer()这个也是,不过它是放在footer.php里面的。
<head></head>结束后我们继续往下看,到了<body></body>这里面的东西就很多了。我们网站的内容都是放在<body></body>html标签之间的(这个不清楚的,大家可以先去网上搜下,磊子会在以后讲到html标签)。首先网站肯定需要你自己logo可以是文字也可以是图片。如果要用图片呢,我们就需要这个函数<?php bloginfo(‘template_url’); ?> 显示主题文件地址比如你的主题叫XXX,那么你的主题文件地址就是http://你的网站地址/wp-content/themes/XXX,然后图片是放在images文件里面的,这样完整的代码是

<img src="<?php bloginfo('template_url'); ?>/images/logo.jpg" alt="" title=""  />
//这里用到了html的图片标签img以及里面一些属性

这样做的好处是假如你本地测试后要传到空间上不需要自己再去修改图片地址。

我们继续往下看,我们可以在logo的右边加上搜索框,就像磊子博客上一样,那么用到的函数是<?php get_search_form(); ?> 这个是调用wp内置的搜索框,当然我们也可以自定义。
接下来是菜单导航。在wordpress之前的版本中我们常用到的菜单导航函数是<?php wp_list_pages(); ?> 但由于新版的wp后台有了菜单选项,这个方法很少用了,而是新的函数<?php wp_nav_menu(array( ‘theme_location’ => ‘primary’ )); ?>要使用这个函数还需要在functions.php里面激活这个功能,写法是<?php register_nav_menu( ‘primary’, __( ‘主菜单’) ); ?>

以上这些部分一般都是放在header.php里面的,原因就是它们都是公用的,你每个页面都会用到这些,所以呢在网站头部中如果是每个页面都会用到的可以放在header.php里面。放进去之后那其他文件需要在文件里面最顶端加上<?php get_header(); ?> 如果是调用footer.php在文件的最低端就上<?php get_footer(); ?>,侧边栏调用就是<?php get_sidebar(); ?>,昨天讲到文件结构时有个sidebar-page.php的文件,那调用代码就要写成<?php get_sidebar(‘page’); ?>。这样就把文件引入进来了。

其次网站主要内容部分,我们看博客首页的时候都是以列表的形式显示出来的,那么需要用到循环。把整个文章里面的标题和内容全部显示出来,代码是

<?php if (have_posts()) : //判断是否有文章,如果有的话显示下面内容  ?>
<?php /* 开始循环 */ ?>
<?php while (have_posts()):the_post(); ?>
<?php the_title(); ?> //显示文章标题
<?php the_author();?> //显示文章作者
<?php  the_time('Y-m-d H:i:s') ?> //显示文章发布时间,格式为2011-11-23 21:10:11
<?php the_category(',') ?>//显示分类名称用逗号','隔开
<?php the_tags(‘,’); ?> //显示标签名称用逗号','隔开
<?php the_excerpt(); ?> //显示文章摘要
<?php the_content(); ?>//显示文章内容
//这些都需要放在循环里才可以显示出来,还有下面这些需要在循环里面添加的。
<?php the_permalink(); ?> //获得每篇文章的链接,一般放在a标签里面
<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) );?> //获取文章作者的链接同样也是a标签里面
<?php comments_popup_link(__('暂无评论', 'leizi'), __('1条评论', 'leizi'), __('% 条评论', 'leizi')); ?>
//评论的链接以及一些设置,无评论时显示暂无评论,有一条时显示1条评论,多条时就是%条评论
<?php endwhile; ?>
<?php /* 结束循环 */ ?>
<?php else :  //如果没有内容显示下面信息 ?>
<?php echo '没有发布文章'; //php中用echo来输出内容,这个大家可以记住。以后看到就不陌生了。 ?>
//以上是网站的主要内容部分用到的常用函数。

主要部分显示完之后如果需要有侧边栏.方法是:

<?php if ( ! dynamic_sidebar( 'post-sidebar' ) ) : ?><?php endif; //判断是否存在id是post-sidebar的侧边栏 ?>
//然后你需要在functions.php文件里面激活
<?php
function lei_widgets_init() {
    register_sidebar( array(
        'name'             => __( '首页', 'leizi' ),
        'id'             => 'post-sidebar',
        'description'     => __( '这是一个侧边栏小工具', 'leizi' ),
        'before_widget' => '<div><ul><li id="%1$s">',
        'after_widget'     => '</li></ul></div>',
        'before_title'     => '<h2>',
        'after_title'     => '</h2>',
    ));
}
add_action( 'widgets_init', ‘lei_widgets_init' );
//通过这个方法,就可以在后台的小工具那儿使用叫首页的侧边栏了。

这样一个网站大概内容基本都显示出来了。还需要在详细页面single.php里面加上评论框,代码是<?php comments_template( ”, true ); ?> ,single.php里面内容显示的方法和主要列表内容显示的方法是一样的。把那些代码贴过去用就行。还有分类文件category.php,作者内容文件author.php,存档文件archive.php等,都可以用上面的循环来显示出来。

我们用到上面的代码就可以做一个主题出来了。在加上下面的一些判断。

<?php
is_home(); //是否是首页
is_page(); //是否是页面
is_single(); //是否是文章详细页面
is_front_page(); //是否是主页
is_search(); //是否是搜索页面
?>
is_404(),//是否是404页面 is_admin(),//是否是管理员 is_archive(),//是否是存档页面
is_attachment(),//是否是附件页面 is_author(),//是否是作者页面
is_category(),//是否是分类页面
is_date(), is_day(), is_feed(),//是否是时间,天以及订阅页面
is_tag(), //是否是标签页面。
//等等....一些判断

有了这些判断我们可以更灵活的编写代码。还有一些函数磊子就不在写了,在后面的具体操作中在讲,这些呢都是需要知道的,希望大家多看下,多试着写一下用用。明天讲解html方面的比较更基础的知识。大家先消化下吧,呵呵!如果有什么说不到位的,以及错误的地方,可以留言,磊子会及时修改的。

» 版权所有©转载必须以链接形式注明作者和原始出处:磊子的博客 » WordPress主题(模板)修改教程(四):常用的wordpress主题函数和作用
» 地址:( Ctrl+C 复制 )
» 如果对本站感兴趣,请到网站右下方订阅本站,将为你带来更多精彩和实用的文章
» 如果您对这篇文章感兴趣,不妨小小的 捐助(Donate)一下博主吧,不管多少都是对博主最大的支持和鼓励哟,博主-磊子感谢大家的支持!!!

11 条留言 其中:访客:8 条, 博主:3 条

  1. cherish说:

    谢谢谢谢 :mrgreen:

  2. 狂舞小薰说:

    良心之作啊

  3. 九哥说:

    博主的教程很全面 决定以后来这里按教程学习 :razz:

  4. 依然说:

    今天继续学习,呵呵,云里雾里也要继续看哪

  5. 123说:

    看错。。。。 = = 冒号是结果为真开始执行的内容,我以为while连the post也判断了。

  6. 123说:

    这一段貌似有错,(代码在显示文章那一块)

    貌似应该这样??
    望博主讲解一下。

  7. liliteaw说:

    努力学习中,谢谢分享

  8. 谢谢你分享!

说点什么吧




订阅本站