在尝试使用WordPress中的几个核心功能/类作为独立时,我遇到了致命/未被捕获的错误。
E_ERROR: Uncaught Error: Call to a member function suppress_errors() on null in C:\Vip\_tmp\wp-statistics\includes\option.php:9
索引:
@include 'wp-db.php';
@include 'option.php';
查看最新的wp-db.php
code here.
option.php
<?php
function get_option( $option, $default = false ) {
global $wpdb;
$option = trim( $option );
if ( empty( $option ) )
return false;
// $suppress = $wpdb->suppress_errors();
$row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) );
$wpdb->suppress_errors( $suppress );
if ( is_object( $row ) ) {
$value = $row->option_value;
} else {
/** This filter is documented in wp-includes/option.php */
return apply_filters( "default_option_{$option}", $default, $option, $passed_default );
}
}
无论wp-db.php
调用的option.php
成员函数是什么,都会抛出上述错误。
答案 0 :(得分:0)
有两种方法可以解决这个问题:
根据the comment vstm中的建议,一个选项是加载其余的WordPress,其中包括wp-load.php
&amp; wp-config.php.
$wpdb
声明补救错误消息的缺失语句如下:
<强>索引强>
require_once 'sources/constants.php';
require_once 'wp-db.php';
$wpdb = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
require_once 'option.php';
<强>源/ constants.php 强>
<?php
// define constants here
define('DB_HOST', 'YOUR HOST');
define('DB_USER', 'YOUR USER');
define('DB_PASSWORD', 'YOUR PASSWORD');
define('DB_NAME', 'YOUR DB');