您好,欢迎来到菜鸟吧源码网-本站资源仅供学习与参考,禁止用于商业或违法行为!
  • 首 页
  • 下载APP
  • 公告:菜鸟吧APP于2024.9.15正式上线,请首页右上角进入下载,本站资源均来源于互联网及会员投稿发布,所有资源仅供学习参考研究使用,请勿商用或其它非法用途,商用请购买正版,否则产生一切后果由用户自行承担!谢谢!

     

    当前位置:主页 > 站长学堂 > WP教程 >
    wordpress操作数据库用一个全局变量$wpdb来进行各种操作教程
    时间:2019-10-15 15:45 作者:菜鸟哥 浏览:收藏 挑错 打印

    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这个变量的全局定义。

    本文为小谈博客原创

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
    我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法下载,联系站长索要。
    如有侵犯您的版权,请给我们来信:cainiaovip8@qq.com,我们尽快处理。

    用wordpress制作网站的遇到的问题总结用wordpress制作网站的遇到的问题总结
    WordPress自定义多个侧栏教程WordPress自定义多个侧栏教程
    最新版WordPress小工具制作最新版WordPress小工具制作