一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

DEDECMS|帝國CMS|Discuz|PHPCMS|Wordpress|ZBLOG|ECSHOP|蘋果CMS|極致CMS|CMS系統|

服務器之家 - 建站程序 - Wordpress - wordpress全局變量$wpdb初始化并聲明為全局變量的方法

wordpress全局變量$wpdb初始化并聲明為全局變量的方法

2019-09-19 17:08小談博客 Wordpress

wordpress操作數據庫用一個全局變量$wpdb來進行各種操作,使用的時候先在函數聲明global $wpdb,然后調用它的數據庫操作方法。那么它是在哪里進行初始化并聲明為全局變量的呢

首先從wordpress程序index.php入手:

 

復制代碼

代碼如下:


define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

 

index.php加載了wp-blog-header.php文件,再打開看看:

 

復制代碼

代碼如下:


if ( !isset($wp_did_header) ) {
$wp_did_header = true;
require_once( dirname(__FILE__) . '/wp-load.php' );
wp();
require_once( ABSPATH . WPINC . '/template-loader.php' );
}

 

再打開wp-load.php:

 

復制代碼

代碼如下:


if ( file_exists( ABSPATH . 'wp-config.php') ) {

/** The config file resides in ABSPATH */
require_once( ABSPATH . 'wp-config.php' );

} elseif ( file_exists( dirname(ABSPATH) . '/wp-config.php' ) && ! file_exists( dirname(ABSPATH) . '/wp-settings.php' ) ) {

/** The config file resides one level above ABSPATH but is not part of another install */
require_once( dirname(ABSPATH) . '/wp-config.php' );

} else {
……
}

 

它加載了配置文件config.php,打開config.php看看:

 

復制代碼

代碼如下:


/* 好了!請不要再繼續編輯。請保存本文件。使用愉快! */

/** WordPress目錄的絕對路徑。 */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');

/** 設置WordPress變量和包含文件。 */
require_once(ABSPATH . 'wp-settings.php');

 

找到最下面幾行,它加載了wp-settings.php文件,打開看看:

 

復制代碼

代碼如下:


define( 'WPINC', 'wp-includes' );

// Include files required for initialization.
require( ABSPATH . WPINC . '/load.php' );
require( ABSPATH . WPINC . '/default-constants.php' );
require( ABSPATH . WPINC . '/version.php' );

 

它加載了load.php文件,打開load.php文件其中有個函數:

 

復制代碼

代碼如下:


function require_wp_db() {
global $wpdb;

require_once( ABSPATH . WPINC . '/wp-db.php' );
if ( file_exists( WP_CONTENT_DIR . '/db.php' ) )
require_once( WP_CONTENT_DIR . '/db.php' );

if ( isset( $wpdb ) )
return;

$wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST );
}

 

并且在該文件(wp-settings.php)下面調用了require_wp_db()方法:

 

復制代碼

代碼如下:


// Include the wpdb class and, if present, a db.php database drop-in.
require_wp_db();

 

于是找到了,經過層層加載文件和調用,在這里進行了$wpdb這個變量的全局定義。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色男人的天堂久久综合 | 亚洲www在线 | 亚欧成人一区二区 | 公交车高h | 精品国偷自产在线 | 91aaa免费免费国产在线观看 | 91精品乱码一区二区三区 | 四虎影院入口 | 舔到喷水 | 日韩欧美中文字幕一区 | 国产日韩精品欧美一区 | 国产chinese男同gay | 四虎精品免费国产成人 | 按摩院已婚妇女中文字幕 | 天天舔天天操天天干 | 亚色九九九全国免费视频 | 国产精品啪啪 | 成年视频在线观看 | 国产亚洲综合精品一区二区三区 | 四虎影库紧急大通知 | 国产成人精品视频一区二区不卡 | 国产精品福利短视在线播放频 | 国产一级在线观看视频 | 免费一级国产生活片 | 齐天大性之七仙女欲春迅雷链接 | 欧美日韩国内 | 福利视频一区二区思瑞 | 久久精品WWW人人爽人人 | 青青青草国产线观 | 亚洲阿v天堂在线2017 | 国产精品福利 | 视频国产91 | 免费观看无遮挡www的小视频 | 关晓彤被调教出奶水的视频 | 四虎永久在线精品国产 | 亚洲精品黄色 | 97菊爱网 | 啊好痛嗯轻一点免费 | 欧美日韩在线一区二区三区 | 亚州男人的天堂 | 精精国产xxxx视频在线播放器 |