Php 如何在单独的文件中使用$wpdb变量

Php 如何在单独的文件中使用$wpdb变量,php,wordpress,Php,Wordpress,我想在单独的php文件中用WordPress编写自定义查询 我的班级: <?php require('../../../wp-blog-header.php'); class DB_Functions { private $db; //put your code here // constructor function __construct() { require_once 'DB_Connect.php'; // c

我想在单独的php文件中用WordPress编写自定义查询

我的班级:

<?php
require('../../../wp-blog-header.php');

class DB_Functions {

    private $db;

    //put your code here
    // constructor
    function __construct() {
        require_once 'DB_Connect.php';
        // connecting to database
        //$this->db = new DB_Connect();
       // $this->db->connect();
    }

    // destructor
    function __destruct() {

    }


    //------------------------------------------------


    function test(){
        global $wpdb;
        $q = "SELECT
                  wp_posts.ID as ID
                FROM
                  wp_posts
                WHERE 1 = 1
                  AND wp_posts.post_title LIKE '%s%'
                  AND wp_posts.post_type = 'post'
                  AND ((wp_posts.post_status = 'publish'))
                ORDER BY wp_posts.post_date DESC
                LIMIT 0, 5 ";

       $arr = $wpdb->get_results($q);

       foreach($arr as $a ){
           echo $a['ID'];
       }
    }

}

?>
已解决:

   foreach($arr as $a ){
       echo $a->ID;
   }

请尝试使用以下代码:

<?php
require '../../../wp-load.php';

class DB_Functions {

    private $db;

    //put your code here
    // constructor

    function __construct() {
        require_once 'DB_Connect.php';
    }

    // destructor
    function __destruct() {

    }

    function test(){
        global $wpdb;
        $q = "SELECT
                  wp_posts.ID as ID
                FROM
                  wp_posts
                WHERE 1 = 1
                  AND wp_posts.post_title LIKE '%s%'
                  AND wp_posts.post_type = 'post'
                  AND ((wp_posts.post_status = 'publish'))
                ORDER BY wp_posts.post_date DESC
                LIMIT 0, 5 ";

       $arr = $wpdb->get_results($q);

       foreach($arr as $a ){
           echo $a['ID'];
       }
    }

}    
?>

您需要获得wordpress配置和数据库对象的是
wp load.php
。因此,将此文件包含在类中,然后可以像这样使用
$wpdb
对象

require '../../../wp-load.php';    //change this path according to file
class DB_Functions {
   public function init()
{
    global $wpdb;
    $wpdb->query('');

}
}

有错误信息吗?关于
$arr
var\u转储如何?@vard更新并添加了返回值。
require '../../../wp-load.php';    //change this path according to file
class DB_Functions {
   public function init()
{
    global $wpdb;
    $wpdb->query('');

}
}