2017-09-21

猎数博客

数据挖掘,机器学习

wordpress 3.1 代码 index.php(一)

作者:江航 / 2011-04-23 / (阅读 1,530 次) /



我用的是Wordpress 3.1. 读一下,记下来。

index.php : 声明常量WP_USE_THEMES, 引入文件 wp-blog-header.php
wp-blog-header.php: 引入文件 wp-load.php , 调用主函数wp() , 然后引入文件template-loader.php 。 猜想,在wp-load.php中设置各种参数状态,通过template-loader.php 来显示。

wp-load.php:定义常量ABSPATH为当前目录,设置errorreporting,查找并引入wp-config.php,如果找不到这个文件则报错。

wp-config.php : 定义Mysql DB 相关常量,如数据库名,用户名等等,设置调试模式WP_DEBUG,引入wp-settings.php

wp-setting.php:  一开始就引入wp-includes目录下的load.php,default-constants.php,version.php三个文件。这三个文件中都定义了一些关于环境设置相关的函数,并没有实际的函数调用。在引入这三个文件后,调用了以下一些函数,这些函数都在前面三个文件中声明:wp_initial_constants();wp_unregister_GLOBALS(); wp_unregister_GLOBALS(); wp_check_php_mysql_versions();。这里只列出了部分函数名。

在此以后,又引入了wp-includes目录下的compat.php,functions.php,class-wp.php,class-wp-error.php,plugin.php共5个文件。其中

  • compat.php:  为了兼容老版本的php,为一些没有定义的函数进行自行定义
  • functions.php:  这是一个大文件,里面定义了wordpress主要的功能函数。其中有个全局变量叫$wpdb被很多函数用到,后面需要了解下这个变量。
  • class-wp.php: 定义类WP,看起来是实现了以下跟数据库查询相关的一些操作。还没有细看。
  • class-wp-error.php:定义了类WP_Error和函数is_wp_error()
  • plugin.php: 插件相关的接口函数,可以由此来建立动作,过滤器和钩子函数/方法。

这5个文件被引入后,调用了下面三个函数require_wp_db(),wp_set_wpdb_vars(),wp_start_object_cache(),看起来是建立了上面提到的$wpdb全局变量,然后设置他,最后设置一个缓存。真正的事情还没有开始做。

接下来,继续引入文件default-filters.php,pomo/mo.php,注意后面一个文件不是直接在include目录下。

  • default-filters.php:  注意,这个文件中没有定义任何函数,而是在调用前面的函数,这里主要添加了大量的filter和action,通过调用add_filter 和add_action 这两个函数。后面要认真研究这两个函数,到底干什么了。
  • pomo/mo.php:  引入了该目录下的translations.php和streams.php,然后定义了MO类,目前还不知道这个MO类是干什么的。看起来和翻译有关。

 



Wordpress一览无余,源码面前没有秘密,wordpress的函数调用库,展示wordpress页面打开过程中十几万个函数调用,学习WP开发的绝佳资源。点击这里进入

本文地址: http://www.bagualu.net/wordpress/archives/177 转载请注明






相关文章

  • 再说Wordpress中添加小挂件widget( 5,870 )
  • Wordpress中添加自定义参数( 3,413 )
  • WordPress代码之apply_filters( 3,274 )
  • 微博分享按钮( 3,227 )
  • WordPress版权声明插件( 3,200 )
  • wordpress函数调用库( 2,634 )
  • 通过wpdb访问WordPress数据库( 2,444 )
  • 通过wordpress debug插件,显示filter调用过程( 2,405 )
  • 用Wordpress做相册( 2,398 )
  • WordPress 代码之 add_filter( 2,338 )
  • one responses

  • 2011 年 07 月 10 日 am 11:43

    博主 很棒 , 正是缺少这类资料.

  • Leave a Reply

    您必须登录以发表评论,

    沪ICP备11036560号
    联系我: jianghang at bagualu.net