WordPress常用函数大全

最近在折腾一个新站,选择了用wordpress来做,因为对wordpress较其他程序要熟悉一些。由于本人实在太懒,做事欠规划,为了提高效率,将常用的一些函数及模板文件名放在这里,不致于以后不知道放在什么地方或者去Google了。

(一)WordPress基本模板文件

一套完整的WordPress模板应至少具有如下文件:
style.css : CSS(样式表)文件
index.php : 主页模板
archive.php : Archive/Category模板
404.php : Not Found 错误页模板
comments.php : 留言/回复模板
footer.php : Footer模板
header.php : Header模板
sidebar.php : 侧栏模板
page.php : 内容页(Page)模板
single.php : 内容页(Post)模板
searchform.php : 搜索表单模板
search.php : 搜索结果模板

当然,具体到特定的某款模板,可能不止这些文件,但一般而言,这些文件是每套模板所必备的。

(二)基本条件判断Tag

is_home() : 是否为主页
is_single() : 是否为内容页(Post)
is_page() : 是否为内容页(Page)
is_category() : 是否为Category/Archive页
is_tag() : 是否为Tag存档页
is_date() : 是否为指定日期存档页
is_year() : 是否为指定年份存档页
is_month() : 是否为指定月份存档页
is_day() : 是否为指定日存档页
is_time() : 是否为指定时间存档页
is_archive() : 是否为存档页
is_search() : 是否为搜索结果页
is_404() : 是否为 “HTTP 404: Not Found” 错误页
is_paged() : 主页/Category/Archive页是否以多页显示

(三)Header部分常用到的PHP函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php bloginfo('name'); ?> : 博客名称(Title)

<?php bloginfo('stylesheet_url'); ?> : CSS文件路径

<?php bloginfo('pingback_url'); ?> : PingBack Url

<?php bloginfo('template_url'); ?> : 模板文件路径

<?php bloginfo('version'); ?> : WordPress版本

<?php bloginfo('atom_url'); ?> : Atom Url

<?php bloginfo('rss2_url'); ?> : RSS 2.o Url

<?php bloginfo('url'); ?> : 博客 Url

<?php bloginfo('html_type'); ?> : 博客网页Html类型

<?php bloginfo('charset'); ?> : 博客网页编码

<?php bloginfo('description'); ?> : 博客描述

<?php wp_title(); ?> : 特定内容页(Post/Page)的标题

(四)模板常用的PHP函数及命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php get_header(); ?> : 调用Header模板
<?php get_sidebar(); ?> : 调用Sidebar模板
<?php get_footer(); ?> : 调用Footer模板
<?php the_content(); ?> : 显示内容(Post/Page)
<?php if(have_posts()) : ?> : 检查是否存在Post/Page
<?php while(have_posts()) : the_post(); ?> : 如果存在Post/Page则予以显示
<?php endwhile; ?> : While 结束
<?php endif; ?> : If 结束
<?php the_time('字符串') ?> : 显示时间,时间格式由“字符串”参数决定,具体参考PHP手册
<?php echo get_post_modified_time('Y 年 m月 d日 H:i', false); ?>//('Y 年 m月 d日 H:i', false)中Y 年 m月 d日 H:i可以参考PHP时间输出设置,false为wordpress博客里自己设置的时区时间,如果为ture则为格林威治标准时间。
<?php comments_popup_link(); ?> : 正文中的留言链接。如果使用 comments_popup_script() ,则留言会在新窗口中打开,反之,则在当前窗口打开
<?php the_title(); ?> : 内容页(Post/Page)标题
<?php the_permalink() ?> : 内容页(Post/Page) Url
<?php the_category(',') ?> : 特定内容页(Post/Page)所属Category
<?php the_author(); ?> : 作者
<?php the_ID(); ?> : 特定内容页(Post/Page) ID
<?php edit_post_link(); ?> : 如果用户已登录并具有权限,显示编辑链接
<?php get_links_list(); ?> : 显示Blogroll中的链接
<?php comments_template(); ?> : 调用留言/回复模板
<?php wp_list_pages(); ?> : 显示Page列表
<?php wp_list_categories(); ?> : 显示Categories列表
<?php next_post_link('%link'); ?> : 下一篇文章链接
<?php previous_post_link('%link'); ?> : 上一篇文章链接
<?php get_calendar(); ?> : 日历
<?php wp_get_archives() ?> : 显示内容存档
<?php posts_nav_link(); ?> : 导航,显示上一篇/下一篇文章链接
<?php include(TEMPLATEPATH . '/文件名'); ?> : 嵌入其他文件,可为定制的模板或其他类型文件

(五)与模板相关的其他函数

1
2
3
4
5
6
7
<?php _e('Message'); ?> : 输出相应信息
<?php wp_register(); ?> : 显示注册链接
<?php wp_loginout(); ?> : 显示登录/注销链接
<!next page–> : 将当前内容分页
<!–more–> : 将当前内容截断,以不在主页/目录页显示全部内容
<?php timer_stop(1); ?> : 网页加载时间()
<?php echo get_num_queries(); ?> : 网页加载查询量

自定义域相关

1
2
<?php if(get_post_meta($post->ID, "_cus_name", true)) { ?> <?php } ?>//判断自定义域是否有值
<?php echo get_post_meta($post->ID, "_cus_name", true); 获取自定义域的值?>

query_posts相关

1
2
3
4
5
<?php  $posts = query_posts($query_string . '&orderby=modified');?>
<?php while (have_posts()) : the_post(); ?>
   .....
<?php endwhile; ?>按照最后更新时间排序
orderby=modified的意思就是让wordpress文章按更新时间排序啦

WordPress时间函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
文章的时间函数为:<?php the_time() ?>
评论的时间函数为:<?php comment_date() ?>
评论的日期函数为:<?php comment_time() ?>
WordPress的全部时间参数及显示效果:

a代表小写的英语的上下午,如am、pm
A代表大写的英语的上下午,如AM、PM
d代表英语的日期(小于10仍为两位数写法),如0512
D代表中文的星期,如五、七
F代表中文的月份(包括“月”这个字),如五月、十二月
g代表英语的小时(小于10为一位数写法),如512
G代表英语的小时(小于10仍为两位数写法),如0512
h代表英语的分钟(小于10为一位数写法),如512
H代表英语的分钟(小于10仍为两位数写法),如0512
j代表英语的日期(小于10为一位数写法),如0512
l代表中文的星期(包括“星期”这两个字),如星期五、星期七
m代表英语的月份(小于10仍为两位数写法),如0512
M代表英语的月份(以单词的形式显示),如Jun
n代表英语的月份(小于10为一位数写法),如512
O代表英语的时区,如+0800
r代表完整的日期时间,如Tue, 06 Jun 2006 18:37:11 +0800
S代表日期的序数后缀,如st、th
T代表英语的时区(以单词的形式显示),如CST
w代表英语的星期,如57
W代表周数,如23
y代表两位数年份,如0708
Y代表四位数年份,如20072008
z代表天数,如156
原来模板的发布时间是英文格式,要改成现在这样的中文格式,在模板的Single.php 和Index.php里面相应的把

<?php the_time(’M jS, Y’) ?>
替换为

<?php the_time(Y年n月d日) ?>

最后更新时间<?php echo get_post_modified_time('Y 年 m月 d日 H:i', false); ?>

Leave a Reply

You must be logged in to post a comment.

RSS feed for comments on this post. TrackBack URL