Как получить доступ к переменной $wpdb в wordpress?
Ответ
Такая необходимость может возникнуть, если, например, создать новый php-файл в теме с отдельный дизайном. Решить проблему можно несколькими способами.
Первый способ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// формируем путь $url = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; $url = $_SERVER['REQUEST_URI']; $my_url = explode('wp-content' , $url); $path = $_SERVER['DOCUMENT_ROOT']."/".$my_url[0]; // подключаем include_once $path . '/wp-config.php'; include_once $path . '/wp-includes/wp-db.php'; include_once $path . '/wp-includes/pluggable.php'; global $wpdb; // теперь переменная $wpdb доступна //далее работа с $wpdb |
Второй способ
1 2 3 4 |
define( 'SHORTINIT', true ); require( '/path/to/wp-load.php' ); global $wpdb; //работаем с $wpdb |
Третий способ
Никто не запрещает узнать параметры подключения к базе, самостоятельно установить соединение и работать с данными через mysqli (а лучше через PDO).
1 2 3 4 5 6 7 8 |
include "WP-ROOT-PATH/wp-config.php"; $db = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); // проверка соединения if (mysqli_connect_errno()){ // ошибка exit("Не удалось подключиться к базе: ".mysqli_connect_error()); } // работаем с базой |