饥人谷技术博客程序员

Wordpress学习笔记

2016-01-29  本文已影响223人  adde04d35734

概述

写一些我对wp的认识!我是按照一次访问的顺序来了解wp的运行原理,从而去了解wp的结构

解析

执行顺序

--index.php
    --wp-blog-header.php
        --wp-load.php
            --wp-config.php    //配置数据文件,加载wp-setting.php
                --wp-setting.php // 这个文件很重要
                    --/include/load.php wp的一些方法
                    --/include/default-constants.php 包含定义函数的方法
                    --/include/version.php 版本常数定义(wp,PHP,mysql,tinymce...)
                    --/include/compat.php
                    --/include/functions.php
                    --/include/class-wp.php
                    --/include/class-wp-error.php
                    --/include/plugin.php,/pomo/mo.php,wp-db.php
                    --/include/default-filters.php  //挂载钩子 add_action,add_filter
                    --/include/l10n.php
                    --...包含了大部分include文件夹下的文件
                //这个文件包含了一系列页面加载前的准备操作.数据库对象的建立,常量的定义,配置文件的加载,常用方法挂载到钩子,头部信息发送等,wp对象的建立,插件控制对象的建立等等.
        --wp();   //这个方法很重要
            //执行了wp->main();这里边做了wp对象的如下操作
            $this->init();
            $this->parse_request($query_args);
            $this->send_headers();
            $this->query_posts();
            $this->handle_404();
            $this->register_globals(); 
            //一目了然他干了什么

        --template-loader.php   //这个文件也很重要
            执行do_action( 'template_redirect' );
            // 选择页面进行跳转,如果想要跳转到插件去运行,那么你的插件关键类中,需要有template_redirect这样的一个方法。并在关键类中初始化时挂载到钩子里边。
            //插件json_api  就是在这里被调用。

几个重要的全局变量

  1. $wpdb,$blog_id,$wp_actions,$wp_filter ,$custom_image_header, $custom_background,$wp_query ,$userdata,插件对象(如$json_api)

备注

一个钩子里边有可能有多个方法的,一个方法可以放到多个钩子上

问题

插件对象是什么时候生成的?

感悟

个人觉得wordpress是个基于方法的框架,所有的页面输出,逻辑处理,数据得到,都是写在某个特定的方法里边,然后通过他的钩子逻辑去挂载,实现。

上一篇下一篇

猜你喜欢

热点阅读