2016-03-02 6 views
0

У меня есть .load JQuery() в скрипте:Ошибка с WordPress get_results() называют

$('#category2').load("/wp-content/themes/mydomain/categories.php", 
          { category_number : 2, // category to get 
           category_1 : category_1, 
           category_2 : category_2, 
           category_3 : category_3, 
           category_4 : category_4, 
           category_5 : category_5, 
           category_6 : category_6, 
           category_7 : category_7 
          }, 
          function(responseTxt, textStatus, xhr) { 
           console.log("responseTxt=" + responseTxt + ", textStatus=" + textStatus + ", xhr->status=" + xhr.statusText); 
          }) 

И в обработчике categories.php для .load() я в настоящее время:

<?php 
ini_set('display_errors', 1); 
error_reporting(E_ALL & ~E_NOTICE); 


global $wpdb; 
$query=("SELECT Cat2 
     FROM wp_categories 
     WHERE Cat3 IS NULL AND Cat4 IS NULL AND Cat5 IS NULL AND Cat6 IS NULL"); 
$dropdown = $wpdb->get_results($query, OBJECT); 
print_r ($dropdown); 
?> 

Но я получаю сообщение об ошибке из строки $ dropdown = выше: «Вызовите функцию-член get_results() для не-объекта».

Кто-нибудь видит, что я делаю неправильно?

+0

Ваш файл PHP не в "WordPress среде", то есть сор код не входит в него. Вы должны вручную включить 'wp-load.php' в начале вашего файла или использовать wp ajax api (лучший выбор, кстати). Взгляните на [этот вопрос] (http://stackoverflow.com/questions/35748211/update-option-doesnt-work-in-single-php-file/35749658#35749658), это сделает вещи более ясными. –

ответ

1

Вы вызываете файл /wp-content/themes/mydomain/categories.php напрямую, а не передаете его через WordPress. Это означает, что объект $wpdb недоступен для использования.

Вы можете подтвердить это путем загрузки файла categories.php непосредственно, и ввод:.

global $wpdb; 
print_r($wpdb); 

Вы не получите объект базы данных WordPress (если не включать необходимые файлы в categories.php непосредственно

Вы должны использовать встроенный в WordPress Ajax functions для обработки Ajax запросов

есть много руководств там, которые объясняют, как использовать Ajax в WordPress:.

Смежные вопросы