То есть, если не получилось подключиться - выводится либо кастомная страничка ошибки, либо конкретный меседж, который выводится с помощью $this->bail( $message, 'db_connect_fail' );
Лично меня смущает @ если выключен WP_DEBUG.
Сам mysqli_real_connect() кажется bool возвращает.
В самом классе wpdb exceptions нету. Отлов ошибок там "трушный вордпрессовский" :) Мне кажется, что смотреть $wpdb_ex->last_error - наиболее реалистичный вариант.
У вас тут SQL Injection, ваш код уязвим. Вы принимаете постом данные от пользователя через форму и без какой либо санитизации отправляете их в запросе к БД. Это чревато словом на букву Ж.
tokmaganbet, через custom background (фича для тем и Customizer) если он такой один. Через inline css, через CSS сгенерированный на лету и дописанный в head.
Максим, Нужно не options, а $wpdb->options - это обращение к свойству класса / объекта, то есть переменной внутри класса wpdb. Данное свойство/переменная всегда содержит в себе правильное название таблицы, с правильным префиксом.
Максим, Не нужно, $wpdb который хранится в глобальном скоупе - это уже созданный экземпляр класса, с уже готовым соединением с БД, а данные он прочитал давным давно из конфига wp-config.php
777 давать нельзя. Во-первых, это небезопасно. Во-вторых, если при 755 не работает (а должно), значит проблема в пользователе/группе. И 777 - это лишь грубый обход этой проблемы.
К тому же, 755/777 это права для папок. Для файлов должны быть 644. Похоже вы не совсем понимаете как работает система прав в *nix системах, а ваш совет - вреден.