Tag: WordPress
-
WordPress 重要文件 wp-seting.php 文件详解
wp-setting.php 文件详解 描述:用于设置公共变量、加载 WP 的程序和类库(存储 WP 函数、类和核心内容所在文件夹的位置)。用户无需修改此文件,但是可以通过修改 wp-config.php 文件来进行配置。
-
WordPress 源代码研究 – 插件机制
先前说过 WP 所有的处理都在 index.PHP 里,单入口。而这里面又分成了两步。 一个是数据的准备,第二是模板的加载。那我们的插件调用是在哪里 呢??可以这么说,插件需要的数据是在第一步准备好的,插件的调用机制也是在第一步初始化的,并且一部分的接口调用也是在第一步做了。然后第二部主要是就 是在特定的地方调用接口的方法。 其实所谓的插件,说白了就是一堆函数,写插件的作者希望这一堆函数能在 WP 运行流程的一些地方插进去运 行。比如我们希望一个关键词过滤的东西,每遇 到 “草泥马” 你换成 “***”。那就可以写一个插件,在每一次日志提交的时候,在入库之前让执行一个函数,让这个 $content 中的 “草泥马” 你换成 “***”。这就是插件。 那为什么我们不直接改源代码就行了呢,反正是开源的。这个问题,我觉得原因有两点。 1. 开源没错,但是我为了一个小功能要看全部源代码,是不是有点。。。 2. 你改了源代码你用,别人要用你再教他怎么怎么改。是不是有点。。。再如果对方不懂程序,OMG。 所以最好是写成一个东西,傻瓜都会用的那种。这时候插件就出现了。 可能你还会想,那我写一个执行脚本,让他在指定的文件指定的行添加一些代码,不也 “插件” 了吗。 没错,这样肯定也能成功。不过如果其它人也有其它的插件,大家都要改文件,那是不是可能出现冲突,不河蟹了是吧。 上面用插件的原因你了不了解都无所谓。下面要说的是插件的具体实现。 WP 中用一种叫 hook 的机制实现了插件,hook:钩子是也。也就是在指定的地方放一些钩子,然后你可以把你的代码写成函数,挂在某些钩子上,当程序执行到钩子的时候,就把那上面的一串函数给执行了。 那这个挂的动作是什么时候发生的呢?是怎么发生的呢? 当 我们在执行上面说的 wp-settiongs.php 的时候,里面包含了我们每个插件的一个引导文件(就是一个 PHP 文件),在这个文件里调用了 一些方法,比如:add_action (“钩子”,” 函数”)。比如 apply_filter (“钩子”,” 函数”).. 当然还有相应的删除,修改什么的 一系列函数。你可以随便打开一个插件的外层 PHP 文件看一下里面的这些代码。 这些代码什么意思呢。他们其实是描述了一个对应关系,就是一个钩子对应一些函数的对应关系,每调用一次上面的挂钩函数。就会让这个钩子上多关联一个函数。其实这所有的信息就是存在 PHP 的关联数组里的。可以想一下是怎么存的,我这就不说了。是时候看看代码了吧。呵呵。…
-
WordPress 中的 cookie 机制
WordPress 中的 cookie 机制 WordPress 使用 cookies 技术(能够让网站服务器把少量数据存储到客户端的硬盘或内存,或是从客户端的硬盘读取数据信息的一种技术)以验证您的身份。WordPress cookies 有登陆用户 cookies 和评论人 cookies 之分。 用户 用户是在 WordPress 上有注册帐户的人员。当您从 http://example.com/wp-login.php 登陆到 WordPress 时,WordPress 就会存储以下两个 cookies: 真 正的 cookies 包含了哈希数据,因此您不必担心有人看到您的 cookies 数据就能得知您的用户名和密码。哈希常被应用到输入数据中(在这里 是指你的用户名和密码),它是数学公式计算出的结果。对于当今的计算机水平而言,反转哈希(hash)几乎是不可能的。这就意味着破解哈希,发现输入数据 非常困难。 WordPress 使用登录 cookies 以绕过 wp-login.php 的密码输入部分。如果 WordPress 发现你的 cookies 有效,你 就可以直接进入管理界面,如果你没有 cookies,或已到期,或由于其它原因致使其无效(如手动编辑后失效等),系统就会要求你重新登陆以获取新的 cookies。cookies 生成一年后会自动失效。 可在 /wp-includes/pluggable.php 中设置或删除 cookies。从 WordPress2.5 以后使用 wp_set_auth_cookie () 函数(wp_setcookie…
-
WordPress 核心文件功能及其载入
WordPress 核心文件功能及其载入 WordPress 中的各种功能都是通过其核心文件来完成(通过调用核心文件中的类和函数等),其核心文件都放在 WPINC(即 wp- includes)目录中,这些核心文件的用途,及其加载的顺序和位置,对我们理解 WordPress 的执行流程和架构至关重要。 注:为了是思路更加的清晰易懂,暂时不考虑后台管理相关的文件,以及多博客 / 站点相关的文件! 加载 WP 核心文件: 如下列表所示,这 42 个文件是核心文件中的核心,它们定要了 WordPress 使用的核心类和函数库,无可执行代码,只有当调用时才会执行相应的函数。这些文件都在 wp-setting.PHP 文件中依照一定的条件被加载,其功能见如下列表: 至此,WP 已经加载大多数的核心文件,wp-includes 目录下未被加载的文件基本为第三方库文件、已废弃文件,或者和多博客相关的文件。他们将会在相应的函数中根据需要加载: 至此 WordPress 中的所有核心文件的功能及其加载顺序或位置都已明晰,我们就可以根据自己的需求对其进行修改(或添加删除),以达到自身的目的!