‘原理’ 标签下的文章
2008/0715

WordPress运行原理学习笔记之二:插件机制初探

分类:wordpress | 发表评论(7 条评论) | 点击量:3446次

WordPress运行原理学习笔记之一:主题机制初探

WordPress运行原理学习笔记之二:插件机制初探

WordPress的插件机制使得开发者可以方便地向系统添加自己需要的功能,而这是使得Wordpress得以在全世界流行的重要原因。一个 WordPress插件是一个程序,或者是用PHP脚本语言写出的一个或一些函数的集合,用来往WordPress Webblog 里增加一些特定的特征和服务,它们可以通过WordPress的 Plugin Application Program Interface (API) 提供的接入点和函数无缝的集成到Webblog里.

插件机制的实现主要依靠wp-includes目录下的plugin.php文件,该文件中包含了与插件机制相关的几个函数。在 wordpress内核运行时设立了一些标记(tag),当遇到这些标记时,wordpess会自动调用挂载到 (hook to)这个标记上的所有函数,该功能是通过数组来实现的,其过程可以直观的表示为下图:

插件hook原理

用户可以通过plugin API方便的将自定义的功能添加到系统相应的位置。需要指出的是:wordpress定义了两种类型的插件API,行为(actions)和过滤器 (filters):

2008/0715

WordPress运行原理学习笔记之一:主题机制初探

分类:wordpress | 发表评论(2 条评论) | 点击量:2709次

WordPress运行原理学习笔记之一:主题机制初探

WordPress运行原理学习笔记之二:插件机制初探

一、主题包各文件说明

header.php:这个文件中包含博客的标题(title),描述(description),tag,以及css等信息。
sidebar.php:这个文件控制你侧边栏中的显示方式。
footer.php:控制页面底部的显示,包括ICP,版权声明等信息。
archive.php:被系统调用用于显示用户提交分类,按日期归档,tag等查询后显示的页面。下面代码显示了archive.php内部是如何辨别不同的查询请求的:

<?php if (is_category()) { ?>
<div class=”pagetitle”>‘<?php single_cat_title(); ?>’ 分类下的文章</div>
<!–显示下面是哪个分类下的文章列表,‘ ’ 分别是左右单引号,下同–>
<?php }    elseif( is_tag() ) { ?>
<div class=”pagetitle”>‘<?php single_tag_title(); ?>’ 标签下的文章</div>
…………
<?php } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?><div class=”pagetitle”>日志归档</div>
<?php } ?>

search.php:用于显示用户提交搜索后显示的页面。
searchform.php:搜索栏表单,被header.php调用。
single.php:用于全文显示post页面。
page.php:用于全文显示page页面。
function.php:存放自定义的函数,被其他文件包含和调用。
comments.php:留意评论模板,被single.php,page.php等需要评论功能的网页调用。
style.css:整个网站布局和显示模式。
screenshot.jpg:用于在后台选择主题页面里显示这个主题的截图,wordpress会自动在主题目录下寻找screenshot.*文件。

二、从源码看主题的调用过程