对于很多WordPress新手来说,不懂任何代码的情况下去瞎改WordPress主题,得出的效果往往会出现语法错误之类的东西或效果不尽人意。想要修改 WordPress主题模板文件最基本的当然要懂得HTML代码,熟悉DIV+CSS布局,PHP代码也得略懂一二。

不过一些比较简单易懂的代码和函数,学习起来并不难,用多改多了你就会记得它,同时这些基本的代码和函数对于一个WordPress 修改主题新手来说尤其重要,当然,我这里说所的是相对有兴趣修改WordPress主题模板的新手,注重网站内容的新手可以怀着学习的态度看这篇文章。

国内的一些WordPress主题大部分都是修改国外一些早期的英文主题,也有很多朋友喜欢汉化主题。修改这些主题当然离不开我上面提到的一些基本代码和函数,所以骆恒安特意搜索了一些平时在WordPress 主题模板文件里常遇到的基本代码与函数,借此分享给大家。

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 : 搜索结果模板

当然,特指某个WordPress主题(现在的英文主题已经发展到了更加多元化的主题元素),可能不止这些文件,但一般而言,这些文件是每个WordPress主题基本必备的。

WordPress主题 - 判断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页是否以多页显示

上面的判断Tag在WordPress主题里常常应用于侧边栏(sidebay)模板文件,就比如 is_home()  ,例如你放了一段广告代码在侧边栏上,而又只想在主页上显示这个广告,那么就可以用到这个判断Tag了。

WordPress主题 – Header 常用PHP函数

<?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)的标题

WordPress主题 - 模板常用的PHP函数

<?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 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 . '/文件名'); ?> : 嵌入其他文件,可为定制的模板或其他类型文件

WordPress主题 - 与模板相关的其他函数

<?php _e('Message'); ?> : 输出相应信息

<?php wp_register(); ?> : 显示注册链接

<?php wp_loginout(); ?> : 显示登录/注销链接

<!–next page-> : 将当前内容分页

<!–more–> : 将当前内容截断,以不在主页/目录页显示全部内容

<?php timer_stop(1); ?> : 网页加载时间(秒)

<?php echo get_num_queries(); ?>: 网页加载查询量

搞懂上面的一些基本Tag和PHP代码对你修改WordPress起到很大的帮助,建议大家可以备份一下这篇文章,往后有需要用上可以拿来参考一下。当然,如果你是HTML老手,DVI+CSS高手,PHP圣手的话,就没有这个必要咯!

转自:http://www.cnblogs.com/tr550352743/archive/2012/08/08/2629173.html

(转)WordPress常用模板函数 修改或自制WordPress主题必备的更多相关文章

  1. WordPress主题模板层次和常用模板函数

    首页: home.php index.php 文章页: single-{post_type}.php – 如果文章类型是videos(即视频),WordPress就会去查找single-videos. ...

  2. wordpress教程之如何修改与制作wordpress的作者页面

    一.如何使用与创建作者页面 一般情况下,多数主题下都有author.php这个文件,这既是作者展示页面.如果发现自己正在使用的主题中没有author.php这个文件的话, Wordpress 会默认寻 ...

  3. wordpress教程之函数讲解

    wordpress函数收集 is_home() : 是否为主页is_single() : 是否为内容页(Post),   是否是单篇文章  is_page() : 是否为内容页(Page),   是否 ...

  4. NDK(10)Android.mk各属性简介,Android.mk 常用模板

    参考 : http://blog.csdn.net/hudashi/article/details/7059006 本文内容: Android.mk简介, 各属性表, 常用Android.mk模板 1 ...

  5. wordpress常用插件汇总

    WordPress之所以能成为目前最具人气的独立博客程序,除了无数爱好者为它开发的主题外,源源不断的插件支持也是重要的原因之一.wordpress的强大,也是在于无数爱好者源源不断的主题和插件. wo ...

  6. WP主题模板制作修改教程

    WP主题模板制作修改教程 实际上,当我们打开某个主题的文件夹时,看到的并不止这两个文件,而是更多.但一般来说,在一个完整的 WP 主题文件夹中都应该包含下列文件(也称为模板文件):页面 模板文件 用途 ...

  7. NDK(10)Android.mk各属性简介,Android.mk 常用模板--未完

    参考 : http://blog.csdn.net/hudashi/article/details/7059006 1. Android.mk简介 Android.mk文件是GNU Makefile的 ...

  8. 模板函数(template function)出现编译链接错误(link error)之解析

    总的结论:    将template function 或者 template class的完整定义直接放在.h文件中,然后加到要使用这些template function的.cpp文件中. 1. 现 ...

  9. WordPress的body_class()函数详解

    wordpress的body_class()函数,顾名思义,这个函数根据不同的页面类型为body标签生成class选择器,从而让设计人员可以各方便灵活的控制不同页面中的各个元素.本文对这一函数进行了详 ...

随机推荐

  1. 动态列 Excel 导出

    /// <summary> /// 导出数据通用属性 需在属性进行标记 /// </summary> [AttributeUsage(AttributeTargets.Clas ...

  2. 转 Spring AOP @Before @Around @After 等 advice 的执行顺序

    转自:http://blog.csdn.net/rainbow702/article/details/52185827 情况一: 一个方法只被一个Aspect类拦截 正常情况:  异常情况:  情况二 ...

  3. 变分贝叶斯VBEM 由浅入深

    变分贝叶斯EM指的是变分贝叶斯期望最大化(VBEM, variational Bayes expectation maximization),这种算法基于变分推理,通过迭代寻找最小化KL(Kullba ...

  4. php 访问用友u8数据

    <?php namespace app\api\controller; use think\Controller; use think\Db; use think\Log; /** * desc ...

  5. Thrift结构分析及增加取客户端IP功能实现

    目录 目录 1 1. 前言 1 2. 示例Service 1 3. 网络部分类图 2 4. 线程模式 3 4.1. IO线程 3 4.2. 工作线程 4 4.2.1. 工作线程类图 4 4.2.2.  ...

  6. 这可能是AI、机器学习和大数据领域覆盖最全的一份速查表

    https://mp.weixin.qq.com/s?__biz=MjM5ODE1NDYyMA==&mid=2653390110&idx=1&sn=b3e5d6e946b719 ...

  7. 超详细JSON解析步骤

    JSON简介 JAVAScript Object Notation是一种轻量级的数据交换格式 具有良好的可读和便于快速编写的特性. 业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了 ...

  8. 深水划水队项目---七天冲刺之day4

    由于有一名队员回家了,所以今天的站立式会议改成微信群线上讨论 工作进度: 1.游戏界面进一步美化中. 2.游戏基本功能已经初步实现. 3.计划今天内商讨出如何实现游戏中的难度选择功能与道具功能. 工作 ...

  9. Java动态代理(一)动态类Proxy的使用

    1.什么是动态代理? 答:动态代理可以提供对另一个对象的访问,同时隐藏实际对象的具体事实.代理一般会实现它所表示的实际对象的接口.代理可以访问实际对象,但是延迟实现实际对象的部分功能,实际对象实现系统 ...

  10. sweetalert 快速显示两个提示, 第二个显示不出的问题

    今天在使用 sweetalert 做提示框的时候, 有个操作快速做了两次提示, 发现第二次显示不出: sweetAlert({}, function() { $.get('', function() ...