Скрипт поиска слов в базе данных для WordPress

Изначально данный скрипт я хотел подключить для своей статьи «Перенос базы данных WordPress на новый домен«, но так как информации на той странице и так очень много, я решил оставить его здесь.
Что делает скрипт? При указании любой фразы в саму функцию, скрипт выполняет поиск по всей базе данных , и показывает результат в виде таблицы. И так начнём. Создадим в корне сайта файл search.php, и разместим в нём следующий код:
function get_search_words($word){ //если это отдельный файл, подключаем функции Wp if(!isset($wpdb))include $_SERVER['DOCUMENT_ROOT'].'/wp-load.php'; global $wpdb; $array=array(); //sql запрос для поиск всех таблиц в БД $sql="show tables "; //Выполняем запрос и заполняем данные в массив $res=$wpdb->get_results($sql); //Если что-то пошло ни так, показываем ошибку if( ! empty($wpdb->error) ) wp_die( $wpdb->error ); //Проходим по каждой таблице foreach($res as $table){ //Получаем название ключа $bd_name="Tables_in_".$wpdb->dbuser; //Заносим в переменную название таблицы $table_name=$table->$bd_name; //Получаем все поля(ячейки) данной таблицы $fields=$wpdb->get_results("DESCRIBE `$table_name`"); //пробегаемся по всем ячейкам и создаём массив для будущего поискового запроса $sq=array(); foreach($fields as $num=>$field){ $sq[]=" `$field->Field` like '%$word%'"; } //Соединяем все поля с помощью оператора OR $like=implode(' OR ',$sq); //Выполянем поиск по каждой ячейки в таблице if(!empty($like)){ //echo "select count(*) as count from $table_name where $like \r\n<br>"; $finish=$wpdb->get_results("select count(*) as count from $table_name where $like"); //Отсеиваем таблицы где нет совпадений if($finish[0]->count>0){ //Собираем массив, чтобы его отсортировать по названию таблицы $array[$table_name]=$finish[0]->count; } } } //Сортируем массив usort($array); //Показываем данные в виде таблицы echo "<table cellpadding='5' cellspacing='0' width='300px' border='0'"; foreach($array as $table=>$count){ echo "<tr><td style='border:1px solid #ccc'>$table</td><td style='border:1px solid #ccc'>$count</td></tr>"; } echo "</table>"; } //Включаем функцию поиска,вместо "Старый URL" прописываем домен без https:// get_search_words('Старый URL');
Когда скрипт выполнит свою работу, на экране отобразится следующая картина. С левой стороны таблица в которой найдено совпадение, с правой стороны кол-во совпадений.