Работа с пользовательской таблицей в базе данных Wordpress - PullRequest
1 голос
/ 02 марта 2011

Я часами пытался просто вызвать таблицу в базе данных wordpress через пост .ajax и вернуть нужное мне значение, но я получаю эту ошибку на возвращающейся странице: «Вызов функции-члена get_results ()на не объект ".

вот мой php-файл:

<?php 
global $wpdb;


if (isset($_POST['state'])) {
    $results=$wpdb->get_results("SELECT DISTINCT make FROM cz_cars ORDER BY make ASC");
    echo $results[0][0];

exit;
}

?>

Вот jquery, который я использую:


jQuery(document).ready(function() 
{

        jQuery("#caryear").change(function() 
        { 
            jQuery.ajax(
            { 
                type: "POST", 
                url: "wp-content/themes/storefront/includes/post-yearmakel.php",        
                data: ({ 'state' : jQuery("#caryear").val() }), 
                success: function(msg)
                {
                    jQuery('#carmake').append('' + msg + '');
                }
            });
        });

});

Этот код отлично работает, когда я закомментирую содержимое базы данных вPHP-файл, и просто верните строку назад.У меня есть файл php с другими включениями, и он распознается WordPress.Понятия не имею, что здесь происходит ... Я думал, что глобальный $ wpdb;сделал бы эту работу!

Есть идеи?

Ответы [ 2 ]

1 голос
/ 02 марта 2011

объявление чего-либо global имеет смысл только вне области действия global.

Первый сценарий не видит инициализированный $wpdb.Вам нужно include движок WordPress или хотя бы часть, которую он настраивает $wpdb

0 голосов
/ 28 декабря 2011

Я не уверен, был ли дан ответ на вопрос или нет, но я считаю, что вам нужно включить wp-load.php файл.

Это должно быть в установке WordPress root. Это даст вам доступ к wp глобалам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...