wordpress主题制作的常用函数及基本模板

Wordpress主题 2014年09月22日 ,

当真正开始动手制作属于自己的WordPress主题时,首先要了解的就是WordPress的基本模板及常用函数。由于目前百度前几位的教程都比较老了,看完之后还要去查询相关的文档。枫竹梦根据目前版本wordpress4.0介绍模板的继承关系及常用函数使用,掌握这些就可以对当前主题进行基本的修改了。

wordpress模板

wordpress模板的继承关系

下图是wordpress网站的了一个继承关系图,清晰的表明了wordpress根据哪个模板渲染请求的页面,如果需要的模板不存在,则根据箭头指向的文件进行渲染。

wordpress模板继承关系

wordpress模板继承关系

模板文件说明

  • style.css:主CSS(样式表)文件,包含主题相关声明和通用样式代码(必需)。
  • index.php:main模板,需要的模板文件不存在则使用本页(必需)。
  • header.php:header模板,一般是页面头部的公用部分,如Logo、分类导航等。由get_header()函数调用。
  • sidebar.php:sidebar模板,一般是分类目录、日历等。由get_sidebar()函数调用。
  • footer.php:footer模板,一般是版权声明等。由get_footer()函数调用。
  • archive.php:archive模板,用来显示归档页面。免费主题基本使用这一个代替了按tag、日期、作者、页面类型分析类的页面。
  • single.php:post模板,文章页。免费主题基本不区别文章类型及附件页。
  • page.php:Page模板,静态页。
  • comments.php:comments模板,留言/回复部分。
  • search.php:search模板,搜索结果页。
  • 404.php:Not Found模板,错误页。
  • functions.php:模板函数,主题用到的函数定义(部分代码可以提取直接制作成插件)。

以上这引起页面基本可以满足多数用户的要求,更多的页面的模板请参考https://codex.wordpress.org/Theme_Development

wordpress主题制作常用函数

判断标签

  • is_home():是否为主页,与index.php区别请参考上图继承关系。
  • is_front_page():是否是首页。
  • is_single():是否是文章页(post)。
  • is_page():是否是静态页(Page)。
  • is_attachment():是否是附件页。
  • is_singular():如果is_single()、is_page()、is_attachment()其一返回真,则为真。可选参数为文章类型。如is_singular('post')。
  • is_category():是否为分类页。
  • is_archive():是否为归档页。包含分类页。
  • is_tag():是否是标签归档页。
  • is_year():是否是指定年份归档页。
  • is_month():是否是指定月份归档页。
  • is_day():是否是指定日归档页。
  • is_time():是否是指定时间归档页。
  • is_date():是否是指定日期归档页。
  • is_author():是否是作者归档页。
  • is_404():是否是Not Found页。
  • is_paged():是否是多页显示页。
  • is_user_logged_in():是否已登录。

常常需要根据以上的判断,在不同的页面上显示不同的内容。

wordpress常用函数

header常用函数

bloginfo('name');                 // 博客名称(title)
bloginfo('description');          // 博客副标题(tagline)
bloginfo('wpurl');                // WordPress地址(安装地址)
bloginfo('url');                  // 博客地址
bloginfo('admin_mail');           // 管理员电子邮件地址
bloginfo('charset');              // 编码方式
bloginfo('version');              // WordPress版本
bloginfo('html_type');            // 博客网页Html类型,一般为"text/html"
bloginfo('language');             // 博客语言
bloginfo('stylesheet_url');       // style.css文件地址,建议使用打印get_stylesheet_uri()代替
bloginfo('stylesheet_directory'); // CSS文件目录,建议使用打印get_stylesheet_directory()代替
bloginfo('template_url');         // 主题目录,建议使用get_template_directory_uri()在父主题中,get_stylesheet_directory_uri()在子主题中
bloginfo('template_directory');   // 同上
bloginfo('pingback_url');         // PingBack URL
bloginfo('atom_url');             // Atom URL
bloginfo('rdf_url');              // RDF/RSS 1.0 URL
bloginfo('rss_url');              // RSS 0.92 URL
bloginfo('rss2_url');             // RSS 2.0 URL
bloginfo('comments_atom_url');    // 评论的Atom URL
bloginfo('comments_rss2_url');    // 评论的RSS 2.0 URL
wp_title();                       // 特定内容页(Post/Page)的标题
wp_head();                        // 头部hook
language_attributes();            // 页面语言

wordpress body常用函数

get_header();          // 调用header.php文件
get_sidebar();         // 调用sidebar.php文件
get_footer();          // 调用footer.php文件
the_content();         // 显示post/Page
have_posts();          // 是否包含post/Page
the_post();            // 在主循环中将当前文章设置为下一个文章
the_time('');          // 输出文章的时间,格式参数同php
comments_popup_link(); // 正方的留言链接。
the_title();           // 文章标题
the_permalink();       // 文章URL
the_category();        // 文章分类
the_author();          // 文章作者
the_ID();              // 文章ID
edit_post_link();      // 对有权限编辑的用户,显示编辑链接
comments_template();   // 调用留言/回复模板
wp_list_pages();       // 显示page列表
wp_list_categories();  // 显示分类列表
next_posts_link();     // 显示下一篇文章
previous_post_link();  // 显示上一篇文章
get_calendar();        // 显示日历
wp_get_archives();     // 显示归档
posts_nav_link();      // 显示文章上一页、下一页导航,paged页可用。注意与next_posts_link()的区别

其他函数

_e('Message');        // 输出Message,同php的echo函数,便于翻译成其他语言
wp_register();        // 显示注册链接
/wp_loginout();       // 显示登录/注销链接
<!–next page–>        // 将当前内容分页
<!–more–>             // 将当前内容截断,显示more链接
timer_stop(n);        // 网页加载n秒
get_num_queries();    // 网页加载查询量
wp_footer();          // 页脚hook
wp_nav_menu();        // 调用导航菜单
wp_list_bookmarks();  // 显示友情链接菜单
query_posts();        // 显示循环查寻条件
wp_reset_query();     // 重围查寻数据
the_excerpt();        // 显示文章摘要

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
日志标题:《wordpress主题制作的常用函数及基本模板》
日志链接:http://furzoom.com/wordpress-template-and-functions/
博客名称:枫竹梦

发表评论

插入图片

NOTICE1:请申请gravatar头像,没有头像的评论可能不会被回复!

回到顶部