Як підключити іншу базу даних у WordPress
Нещодавно я отримав запитання про те, як підключити ще одну базу даних до веб-сайту WordPress. По-перше, я хочу пояснити, що WordPress побудований таким чином, що ви можете запускати будь-яку кількість сайтів або керувати будь-якою функціональністю з однієї бази даних. Я вважаю, що нам ніколи не потрібно підключати більше однієї бази даних до веб-сайту WordPress.
Але все-таки, якщо хтось шукає рішення щодо підключення декількох баз даних, тоді для цього є один хак. Використовуючи цей хак, ви можете використовувати методи класу wpdb для отримання записів з іншої бази даних. Цей злом не дозволить вам використовувати основні методи, надані WordPress, у вашій другій базі даних. Такі функції, як get_option(), update_option (), wp_insert_post (), get_post_meta (), не будуть доступні для вашої іншої бази даних.
У цьому випадку користувач може отримати дані з опцій, розміщувати таблиці, використовуючи запити SQL із методами класу wpdb. Це методи get_var (), get_row (), get_col (), get_results () тощо.
Підключіть іншу базу даних у WordPress
Коли вам потрібно підключити іншу базу даних, створіть екземпляр класу wpdb. Роблячи це, ви отримуєте доступ до всіх доступних методів класу wpdb. Користувач може використовувати ці методи класу безпосередньо для взаємодії із зовнішньою базою даних.
Для початку вам слід мати облікові дані зовнішньої бази даних.
Як вже було сказано, йому потрібно створити екземпляр класу wpdb. Цей примірник повинен бути доступний у всій програмі WordPress. Для цього додайте нижче вказаний код у functions.php
файл.
function connect_another_db() {
global $seconddb;
$seconddb = new wpdb(USERNAME, PASSWORD, DATABASE_NAME, HOSTNAME);
}
add_action('init', 'connect_another_db');
Обов’язково замініть усі заповнювачі фактичними значеннями. Після додавання вищевказаного коду ви підключаєтесь до іншої бази даних. Ви можете використовувати цей другий примірник, як показано нижче:
global $seconddb;
$user_count = $seconddb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );
echo "<p>User count is {$user_count}</p>";
Зверніть увагу, що префікс таблиці іншої бази даних повинен збігатися з вихідною базою даних. Якщо префікс вашої таблиці відрізняється, то вам потрібно прямо вказати префікс, як показано нижче:
global $seconddb;
$prefix = 'wp2_'; // here 'wp2' is the table prefix of second database
$user_count = $seconddb->get_var( "SELECT COUNT(*) FROM $prefix"."users" );
echo "<p>User count is {$user_count}</p>";
За допомогою вищезазначених хакерів ви можете підключити іншу базу даних і отримувати записи з неї на своєму веб-сайті WordPress. Але я рекомендую не використовувати кілька баз даних для вашого веб-сайту WordPress. Спробуйте досягти своєї мети лише з єдиної бази даних.
Пов’язані статті
- Як створити власний віджет Elementor
- Як додати код після тегу Body у WordPress
- Як додати власні кінцеві точки до WordPress API