2014-02-19 2 views
0

У меня возникла проблема с вводом данных в базу данных wordpress через мой плагин. Мой плагин использует короткий код для отображения формы, из которой сделаны некоторые вычисления, а затем эта информация должна быть вставлена ​​в базу данных, но я получаю это сообщение.Вставить в базу данных wordpress - вызвать функцию-член вставить()

Я не могу заставить его работать? .. Любая помощь будет оценена очень сильно.

PLUGIN КОД используется для вставки:

include_once($_SERVER['DOCUMENT_ROOT'].'/wp-config.php'); 
$wpdb->insert(
    'wp_wine_bookings', 
    array(
     'name' => $_POST['name'], 
     'last_name' => $_POST['lname'], 
     'phone_number' => $_POST['phone_num'], 
     'email' => $_POST['email'], 
     'booking_status' => "Booked", 
     'tour_name' => $_POST['tourname'], 
     'tour_date' => $_POST['tourdates'], 
     'number_of_people' => $_POST['num_ppl'], 
     'price' => $_POST['priceget'], 
     'state' => $_POST['state'], 
     'city' => $_POST['city'], 
     'country' => $_POST['country'], 
     'mobile' => $_POST['mobile'], 
     'preffered_pickup_point' => $_POST['locationpickup'], 
     'arrival_date' => $_POST['arrivaldate'], 
     'name_on_credit_card' => $_POST['cn'], 
     'credit_card_type' => $_POST['type'], 
     'payment_date' => date("d-m-y"), 
     'occasion' => $_POST['occasion'], 
     'requirementsO' => $_POST['requirementsO'], 
     'requirementsP' => $_POST['requirementsP'] 
    ), 
    array( 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s', 
     '%s' 
    ) 
); 

PHP ОШИБКА:

Fatal error: Call to a member function insert() on a non-object in /home/user/public_html/wp-content/plugins/BookingWT/booknow.php on line 52

+0

Ваша ошибка Спроецировать функция вставки() не существует на объект $ wpdb. Где установлено $ wpdb? – skrilled

ответ

2

Первое:
Почему вы включили файл wp-config.php? вам не нужно включать это вообще.

Второе:

Вы получаете доступ экземпляр wpdb класса ($wpdb). Это локально.

Вы должны сделать $wpdbglobal:

global $wpdb;  // <--- making $wpdb as global 
$wpdb->insert(
... 
... 
Смежные вопросы