最新公告
  • 欢迎您光临吆喝资源网,本站提供站长亲测的网站源码下载,打造专业的源码网!立即加入我们
  • WordPress框架结构已分析

    简述了WordPress3.0.1结构分析,你可以更加清楚的理解WordPress的工作原理以及系统结构特征。

    安装流程

    Index.php

    加载WordPress环境和模版

    Wp-blog-header.php

    加载wp-load.php

    文件中如果没有wp-config.php

    会出现一个“试试创建一个配置”按钮

    点击跳转到wp-admin下的setup-config.php

    找到wp-config-sample.php并对其进行设置

    Install.php进行安装

    登录wp-login.php

    工作模版

    一个简单的WordPress网页由三个部分组成:头部结构、内容结构、底部结构。这些结构都是由你当前使用的WordPress主题模板文件生成的。

    ■头部包含你的XHTML网页顶部的所有信息,即<head> 标签,还有例如<doctype>, <meta>标签和指向样式表的链接。它还包含了<body>标签和你博客头部中可见的部分。(通常包括您网站的名称,也可以包括导航菜单、logo 、网站介绍等等信息)。

    ■内容部分包含你的日志和页面, 即你网站的“肉”。

    ■底部一般是在你的页面最下方,包含了一些相关信息,像通往其它页面的链接或者你网站的分类导航菜单,版权和联系方式等其它信息。

    index.php

    包含两个功能:

    ■包含或者调用其它模板文件;

    ■包含WordPress主循环以从数据库获取信息(日志、页面、分类等等信息)。

    有的主题包括sidebar,比如index.php下的那个搜索块就是一个sidebar.php

    index.php的主要内容是在主循环中生成的。

    模版的层次

    对MySQL设置

    //wp-settings.php//设置 WordPress 变量和包含文件

    {{{wp-settings.php

    wp_initial_constants( );//设置用户内存限制,如果内存不够当前WordPress使用,将内存设为当前WordPress大小

    set_magic_quotes_runtime( 0 );//关闭php.ini文件中的magic_quotes_runtime

    ini_set( ‘magic_quotes_sybase’, 0 );//设置php.ini文件中的magic_quotes_sybase

    设置默认时区

    wp_unregister_GLOBALS();//设置php.ini文件中的register_globals,使全局数组只能通过特定数组访问,如$_GET[]

    清空全局变量

    标准化$_SERVER变量

    验证PHP版本以及MySQL对WordPress的扩展

    查看favicon.ico

    如果当前处于维护模式下,WordPress会抛出一个维护界面

    设置数据库表前缀和数据库表列的格式说明符

    WP cache进行重置或初始化,重置即调用Cache Object对象的reset方法,初始化即创建Cache Object的对象

    如果WordPress还未安装,跳转安装

    create_initial_taxonomies();//使taxonomies对plugins和themes可用
    create_initial_post_types();//使posts对plugins和themes可用
    //在taxonomies.php和post.php中这两个方法已经和init绑定

    wp_set_internal_encoding();//代码本土化

    do_action( ‘plugins_loaded’ );//触发插件

    $wp_the_query =& new WP_Query();//实例化WordPress Query 对象,用以对数据库进行操作

    $wp_rewrite =& new WP_Rewrite();//这个就是用于WordPress的Rewrite机制,所谓漂亮的链接

    $wp =& new WP();//建立WordPress 对象

    wp_templating_constants();//设置模版的位置为/wp-content/themes/twentyten,这个是wordpress的默认模版

    $wp->init();//建立当前用户

    do_action( ‘init’ );

    do_action(‘wp_loaded’);

    }}}wp-settings.php

    }}}wp-config.php

    }}}wp-load.php

    wp();//调用WP类的main()成员方法
    {{{wp()

    $this->init();//初始化,获取当前用户信息
    $this->parse_request($query_args);//解析请求
    $this->send_headers();//发送头信息
    $this->query_posts();//启动Loop
    $this->handle_404();//操作404(URL地址不存在)
    $this->register_globals();//注册全局变量
    do_action_ref_array(’wp’, array(&$this));

    }}}wp()

    //template-loader.php//加载wordpress的模版,也就可以构建自己的插件和进行使用了

    }}}wp-blog-header.php

    }}}index.php

    主循环

    首先,WP检查他需要的文件是否都可用。

    然后,他收集数据库中博主的默认设置。

    其中包括,例如一页显示多少篇文章,评论是否可用等。

    最后,当这些都准备好后,WP检查当前用户的请求。

    这是WP网站上给的一个小index.php

    *******************************

    <?php

    get_header();

    if (have_posts()) :

    while (have_posts()) :

    the_post();

    the_content();

    endwhile;

    endif;

    get_sidebar();

    get_footer();

    ?>

    麻雀虽小,五脏俱全了

    可以用这段代码,把wordpress文件夹下的/wp-content/themes/twentyten/index.php替换一下,虽然只能简单显示文章,但是效果不错哦

    开始主循环

    ——————————————

    <?php if (have_posts()) : ?>

    <?php while (have_posts()) : the_post(); ?>

    ——————————————

    这么这段代码可以在twentyten下的loop.php中找到

    作用:就是不断读取文章,直到没有

    the_post()是为了让模版显示文章而存在的

    最后,我来讲一下它的调用过程。

    一下以代码注释的形式给出

    //index.php //加载wp-blog-header.php

    define(‘WP_USE_THEMES’, true); //不使用用户自定义的模板文件

    {{{index.php

    //wp-blog-header.php//加载WordPress的环境变量和模版

    {{{wp-blog-header.php

    //wp-load.php//设置ABSPATH,加载wp-config.php

    {{{wp-load.php

    define( ‘ABSPATH’, dirname(__FILE__) . ‘/’ );//定义 ABSPATH 常量作为此网站所有文档所在的目录

    如果源代码出错,抛出相应错误。

    查找wp-config.php是否存在。

    如果不存在,查找上一级目录。

    如果未找到wp-config.php,将让用户使用/wp-admin/setup-config.php进行创建。

    //wp-config.php//建立WordPress环境变量,加载wp-settings.php

    {{{wp-config.php

    WordPress数据表

    安装WordPress后有11张表

    wp_commentmeta

    wp_comments

    wp_links

    wp_options

    wp_postmeta

    wp_posts

    wp_terms

    wp_term_relationships

    wp_term_taxonomy

    wp_usermeta

    wp_users

    官方提供了这些表的一张database图

    以下是官方文档的翻译

    WordPress 3.0 表 (11)

    表名

    描述

    用户界面相关

    wp_commentmeta

    每条评论信息称为元数据,它是在wp_commentmeta存储

    插件通常会添加他们自己的信息发到该表。

    wp_comments

    在WordPress的评论都存储在wp_comments表。

    读者通过评论来反馈发表的信息。评论被管理员管理,通过 Administration > Comments > Comments

    wp_links

    该wp_links持有相关资料到WordPress的链接功能进入链接。

    Administration> Links > Add New

    Administration> Links > Links

    wp_options

    设置 Administration > Settings 的选项被存放在wp_options 表中. 参考 option_name 选项和默认值.

    Administration> Settings > General

    Administration> Settings > Writing

    Administration> Settings > Reading

    Administration> Settings > Discussion

    Administration> Settings > Privacy

    Administration> Settings > Permalinks

    Administration> Appearance > Widgets

    wp_postmeta

    每一个post的特征信息称为元数据,在wp_postmeta存储。有些插件可以添加自己的信息发到该表。

    Administration> Posts > Add New

    Administration> Pages > Add New

    wp_posts

    WordPress 数据的核心就是posts. 存放在wp_posts表中. Pages 和 navigation 目录信息也存储在这.

    Administration> Posts > Add New

    Administration> Posts > Posts

    Administration> Pages > Add New

    Administration> Pages > Pages

    Administration> Media > Add New

    Administration> Media > Library

    Administration> Appearance > Menus

    wp_terms

    Posts、links和tags存储在此表中.

    Administration> Posts > Post Tags

    Administration> Posts > Categories

    Administration> Links > Link Categories

    Administration> Posts > Add New

    Administration> Posts > Posts

    Administration> Pages > Add New

    Administration> Page > Pages

    wp_term_relationships

    在wp_terms表中Posts 相关的 categories 和 tags ,他们之间的联系 在wp_term_relationships表中维护. 他们各自的类别也保存在此表.

    wp_term_taxonomy

    此表描述了wp_terms中实体的分类 (category, link, 或者 tag) .

    wp_usermeta

    每个用户功能的信息称为元数据,它是在wp_usermeta 表中存储.

    Administration> Users

    wp_users

    用户信息被存在 wp_users表中.

    工作流程

     

     

    文章来自吆喝资源网https://yaoohe.com转载请注明出处,并保留本链接,谢谢!

    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,默认解压密码为"yaoohe.com",如遇到无法解压的请联系管理员!
    8. 特别声明:本站源码除标明“已测试”外,其它都未测试,有BUG概本站概不负责。
    吆喝资源网 » WordPress框架结构已分析

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    吆喝资源网
    一个高级程序员模板开发平台

    发表评论

    • 6431会员总数(位)
    • 18940资源总数(个)
    • 45本周发布(个)
    • 6 今日发布(个)
    • 1784稳定运行(天)

    专业的网站源码网,提供精品php网站源码下载,小程序源码下载等!!

    小程序源码 了解详情
    升级SVIP尊享更多特权立即升级