(Прокрутите вниз для вопроса, если вам не нужен фон)
Уже несколько дней я работаю над проектом, который в простых терминах позволяет пользователям искать внутренний идентификатор компании, а затем показывать загрузку информации, относящейся к этому идентификатору (все хранится в базе данных SQL). Просто, чтобы дать вам немного фона, я всегда работал с WordPress, я люблю WP — пользовательские типы записей, настраиваемые поля и т. Д. — я всегда находил, что это хорошее решение для большинства вещей.
Теперь я нахожусь на каком-то контрольно-пропускном пункте. Эту базу данных, которую мне нужен «внешний интерфейс» для чтения, нельзя изменить, ее также нельзя переместить (объединить с таблицами WP и т. Д.), Поскольку другие приложения считывают из нее те же «живые» данные.
Мне удалось собрать крошечный (своего рода) внешний интерфейс и функцию поиска. Но я все еще сталкиваюсь с множеством проблем, я не профессионал в PHP / SQL и т. Д.
Для меня WordPress, кажется, лучший вариант. Как заставить WordPress «читать» из базы данных, полностью отделенной от WP, и «генерировать» страницы на основе этих данных (чтобы пользователи могли выполнять поиск, просматривать информацию в этих пользовательских данных и т. Д.), Например, настраиваемые типы записей / поля, но из БД, который никогда не был создан с помощью WP?
Я понимаю, что таблица WP по-прежнему требуется (но отдельно) для запуска основных функций WP и т. Д.
Любая помощь будет принята с благодарностью!
Я думаю, что WP не лучшие варианты в этом случае. Почему вы не создаете новое приложение, используя для этого какую-то среду php / python? Это выглядит как простое приложение — просто для поиска приложений / идентификаторов и показать некоторую информацию.
Если вы будете использовать WP, я думаю, что это будет очень сложно, потому что у вас будет много работы, чтобы сделать какой-то тип вашей-sql-версии для wp-sql-версии и все …
Попробуйте PHP Framework как Laravel ( http://laravel.com/) или даже Web2py (простой и хороший Python Framework ( http://www.web2py.com/). Web2py действительно прост и может связать вас в вашей существующей базе данных.
Надеюсь, это может быть полезно для вас.
Внутренние элементы WordPress сильно настроены для конкретных баз данных, для которых предназначен WordPress. Хотя вы, вероятно, можете заставить его делать то, что вы хотите, используя различные хуки и фильтры, это будет много работы и, возможно, хрупкий.
Казалось бы, наиболее практичным подходом было бы, чтобы WordPress «отражал» вашу другую базу данных.
1) Создайте один или несколько пользовательских типов записей для типа информации, содержащейся в вашей другой базе данных.
2) Напишите программу синхронизации, которая извлекает данные из другой базы данных и создает сообщения соответствующего пользовательского типа с импортированными данными в качестве содержимого (и удаляет пользовательские сообщения, которые больше не нужны). Вам понадобится какой-то способ (например, пост-слаг или пользовательские метаданные поста) для записи, из какой другой записи БД пришло данное сообщение, чтобы вы не создавали дубликаты).
Программа синхронизации будет довольно простой, и когда вы закончите, вы сможете использовать все стандартные функции WordPress с другими вашими данными.
Похоже, ты делаешь это более сложным, чем нужно. использование http://codex.wordpress.org/Class_Reference/wpdb для чтения / записи в базу данных и доступа к нужным таблицам и данным, т.е.
$mydb = new wpdb('username','password','database','localhost');
$rows = $mydb->get_results("select Name from my_table");
echo "<ul>";
foreach ($rows as $obj) :
echo "<li>".$obj->Name."</li>";
endforeach;
echo "</ul>";
и использовать пользовательские шаблоны страниц http://codex.wordpress.org/Page_Templates при необходимости отобразить как стандартный цикл WordPress, так и пользовательские данные.
Отображение данных из этой базы данных — это одно; поиск совсем другой. Чтобы поиск эти пользовательские данные, вам нужно будет запустить поиск с php только по этим таблицам, так как они не являются стандартными таблицами WordPress и, следовательно, не доступны для поиска в функциях поиска по сайту WordPress. Увидеть Создание формы поиска в PHP для поиска в базе данных? В этом случае вам потребуется специальный шаблон страницы для отображения формы поиска php и результатов.
WordPress использует EZSQL для соединения с базой данных и говорит, что вы можете создавать более одного соединения.
Итак, ваша первая переменная подключения к базе данных — $ wpdb. Вы можете создать другую переменную с другой базой данных.
$ wpdb1 = новый wpdb («имя пользователя», «пароль», «база данных2», «локальный хост»);
Теперь вы можете делать запросы со второй базой данных с помощью переменной varisble $ wpdb2.
Узнайте больше о EZSQL перейдите по ссылке justinvincent.com/ezsql