6

wpdbを拡張するBaseModelという名前のクラスがあるプラグインで、WPにカスタムプラグイン(私が作成したもの)を追加しました。

ここでの問題は、クエリを実行しようとするたびに、結果として false または null または空の配列が返されることです。

class BaseModel extends wpdb{

public function __construct(){
    parent::__construct(DB_HOST, DB_USER, DB_PASS, DB_NAME);
}

function get_destinations($limit, $order){
    $query = "SELECT * FROM wp_relations";

    $result = $this->get_results($query, ARRAY_A);
    var_dump($result); 
}

function get_total_destinations(){
}}

何が悪いのか教えてもらえますか?

ありがとう。

4

3 に答える 3

5

実際には完全なOOPソリューションではありませんが、関数にグローバル$wpdbを追加することでこれを解決します。

class BaseModel {


function get_destinations($limit, $order){
    global $wpdb;
    $query = "SELECT * FROM wp_relations";

    $result = $wpdb->get_results($query, ARRAY_A);
    var_dump($result); 
}

function get_total_destinations(){
}}

これがお役に立てば幸いです。

于 2012-12-17T11:39:17.260 に答える
1

私はあなたがそれから拡張したいとは思わないのですか?このクラスが常に Wordpress ファイル内にロードされる場合、グローバルな $wpdb にアクセスできます。

class RandomClass {

    private $wpdb = false;

    public function __construct() {
        global $wpdb;

        if (is_object($wpdb)) {
            $this->wpdb = $wpdb;
        }
    }

    public function get_results($data) {
         return $this->wpdb->get_results($data);
    }
}    
于 2016-09-23T21:00:45.340 に答える