Call to a member function query() on a non-object в wordpress
Код:
global $wpdb;
if (isset($_GET['year'])) {$year =$_GET['year'];
if ($year == '') { unset($year);}}
if (isset($_GET['month'])) {$month =$_GET['month'];
if ($month == '') { unset($month);}}
$data = array();
$i=0;
$queryResult = $wpdb->query("SELECT post_date FROM wp_posts WHERE YEAR(post_date)='$year' AND MONTH(post_date)='$month'");
while($row=mysql_fetch_array($queryResult))
{
$data[$i]=$row['post_date'];
$i++;
}
// преобрзование массива в данные json
$result = json_encode($data);
echo $result;
if (isset($_GET['year'])) {$year =$_GET['year'];
if ($year == '') { unset($year);}}
if (isset($_GET['month'])) {$month =$_GET['month'];
if ($month == '') { unset($month);}}
$data = array();
$i=0;
$queryResult = $wpdb->query("SELECT post_date FROM wp_posts WHERE YEAR(post_date)='$year' AND MONTH(post_date)='$month'");
while($row=mysql_fetch_array($queryResult))
{
$data[$i]=$row['post_date'];
$i++;
}
// преобрзование массива в данные json
$result = json_encode($data);
echo $result;
Обязательно прямо так лезть в базу? В wordpress обычно так не делают. Там огромное количество методов. Ваш запрос не просто тривиальный, он есть в любых темах:
global действует только внутри функций.
Код:
/* Где-то на старте программы */
$db = new AnotherDBObject();
function DB(){
global $db;
return $db;
}
/* Ну и где-то использование */
private function AnotherFunc(){
DB()->query('SELECT * ........');
}
$db = new AnotherDBObject();
function DB(){
global $db;
return $db;
}
/* Ну и где-то использование */
private function AnotherFunc(){
DB()->query('SELECT * ........');
}