wordpress工作原理

wordpress工作原理,第1张

概述WP初始化的过程:当你输入<yourlink>/wordpress对wordpress进行初始化时,wordpress默认会找根目录下的index.php页面,看一下index.php页面。<?phpdefine('WP_USE_THEMES', true);/** Loads the WordPress Environment and Template */require('./wp-blog-header.php'); ---把/wp-blog-header.php包含进来?>你会发现,它会去调用根目录下的wp-blog-header.php,我们继续看wp-blog-header.php。<?phpif ( !isset($wp_did_header) ) {$wp_did_header = true;require_once( dirname(__FILE__) . '/wp-load.php' );  ---加载wp-load.phpwp();  ---加载function WP();require_once( ABSPATH . WPINC . '/template-loader.php' );   ---加载模板文件}?>通过wp-load.php,wordpress先后把wp-config.php, wp-setting.php,classes.php,fucntions.php,query.php等文件加载进来,并建立了三个全局变量,$wp_the_query,$wp_rewrite和$wp ,分别为WP_Query,WP_Rewrite和WP类的实例。然后,wp-blog-header执行wp()函数,并通过其调用$wp所属WP类的main方法,这个方法又调用一系列方法,但最重要的是parse_request方法, WP从这里开始解析URL并建立主循环。我们看一下wordpress的主方法:function main($query_args = '') {  $this->init();  --初始化环境  $this->parse_request($query_args);   --解析请求  $this->send_headers();  --发送头信息  $this->query_posts();  --查询日志  $this->handle_404();   -- *** 作404(URL地址不存在)  $this->register_globals();  --注册全局变量  do_action_ref_array('wp', array(&$this));}  这基本上就是wordpress初始化时的信息。下面就讨论一下当我们设置自定义的永久链接时,wordpress的运作过程。当我们使用了自定义的永久链接的时候,wordpress会自动生成.htaccess文件,并且在这个文件中生成相对应于永久链接的匹配规则,在wordpress/wp-includes/rewrite.php中有针对.htaccess文件的重写规则,其中$use_verbose_rules参数规定了输出信息的详尽和简约,默认的情况下为false。输出的信息比较简单,如下 # BEGIN WordPress<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]</IfModule># END WordPress  如果想查看完整的匹配规则,就把$use_verbose_rules设置为true。wordpress在对使用了自定义的永久链接进行处理时,它还是会调用wp-include/classes.php文件中的parse_request函数,对发过来的请求进行解析,无论是否为pathinfo类型的请求,都会被赋值给$request参数,然后调用该参数与.htaccess中的规则进行匹配,如果找到一个匹配就会“发送头信息”、“查询日志”,如果没有任何匹配就会返回404错误。     WP初始化的过程:当你输入/wordpress对wordpress进行初始化时,wordpress默认会找根目录下的index.PHP页面,看一下index.PHP页面。你会发现,它会去调用根目录下的wp-blog-header.PHP,我们继续看wp-blog-header.PHP。

通过wp-load.PHP,wordpress先后把wp-config.php,wp-setting.PHP,classes.PHP,fucntions.PHP, query.PHP等文件加载进来,并建立了三个全局变量,$wp_the_query,$wp_rewrite和$wp,分别为WP_query,

WP_Rewrite和WP类的实例。然后,wp-blog-header执行wp()函数,并通过其调用$wp所属WP类的main方法,

这个方法又调用一系列方法,但最重要的是parse_request方法,WP从这里开始解析URL并建立主循环。 我们看一下wordpress的主方法:

这基本上就是wordpress初始化时的信息。

下面就讨论一下当我们设置自定义的永久链接时,wordpress的运作过程。 当我们使用了自定义的永久链接的时候,wordpress会自动生成.htaccess文件,并且在这个文件中生成相

对应于永久链接的匹配规则,在wordpress/wp-includes/rewrite.PHP中有针对.htaccess文件的重写规则,其

中$use_verbose_rules参数规定了输出信息的详尽和简约,默认的情况下为false。输出的信息比较简单,

如下

<div >
<span >#<span > BEGIN wordpress<span ><span ><<span >IfModule mod_rewrite<span >.<span >c<span >><span >RewriteEngine OnRewriteBase <span >/<span >RewriteCond <span >%<span >{REQUEST_filename} <span >!-<span >fRewriteCond <span >%<span >{REQUEST_filename} <span >!-<span >dRewriteRule <span >.<span > <span >/<span >index<span >.<span >PHP [L]<span ></<span >IfModule<span >><span ><span >#<span > END wordpress

如果想查看完整的匹配规则,就把$use_verbose_rules设置为true。 wordpress在对使用了自定义的永久链接进行处理时,它还是会调用wp-include/classes.PHP文件中

的parse_request函数,对发过来的请求进行解析,无论是否为pathinfo类型的请求,都会被赋值给

$request参数,然后调用该参数与.htaccess中的规则进行匹配,如果找到一个匹配就会“发送头信息”

、“查询日志”,如果没有任何匹配就会返回404错误。

总结

以上是内存溢出为你收集整理的wordpress工作原理全部内容,希望文章能够帮你解决wordpress工作原理所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/1024606.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存