Как получить данные Advanced Custom Fields из другого моего WordPress? - PullRequest
0 голосов
/ 23 января 2019

Я создал веб-сайт, на котором я разместил некоторые услуги этой компании. Сейчас я создаю новый для них, и мне нужно снова показать эти услуги.

Я сделал это с помощью Advanced Custom Fields и пользовательских шаблонов, поэтому мой вопрос:

Могу ли я теперь подключиться к базе данных первой веб-страницы, получить данные пользовательских полей и показать их для второй?

Дело в том, что он должен обновляться одновременно, поэтому мне нужно использовать одну и ту же базу данных для обоих.

Я видел, что могу подключиться к внешней базе данных:

$mydb = new wpdb( 'username', 'password', 'database', 'localhost' );
$rows = $mydb->get_results( "select Name from my_table" );

Но я посмотрел на первую базу данных и не могу найти, где предполагается хранить эту информацию. Где эта информация сохраняется?

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Для подключения к удаленной базе данных удаленный сервер должен быть открыт для внешних подключений, почти любой хост не допускает этого.

Лучше всего использовать WP REST API для создания service, который можно использовать с внешнего сайта.

0 голосов
/ 23 января 2019

Данные из ACF сохраняются в мета-таблицах соответствующего типа записи, например, wp_postmeta.Там найдите meta_key с названием ваших полей.Всегда должно быть два: один, начинающийся с подчеркивания, который является ссылкой на определение поля, и один без подчеркивания, содержащий фактические данные для соответствующего идентификатора записи.

Как вы не объяснили вподробно о том, какой объем информации вам нужен и как вы хотите отобразить данные, вам нужно будет взять их оттуда.Но: если вам нужна не только информация о полях, которую вы должны извлекать и отображать, то все станет сложным (и потенциально опасным) быстро.Убедитесь, что вы создали учетную запись только для чтения для подключения к другой БД.Кроме того, если исходная БД находится на другом хосте, вы можете столкнуться с несколькими проблемами, касающимися брандмауэров и настройки SQL (конфигурация только для localhost и т. Д.).Хотя в принципе все технически возможно, например, «связывание» с другой БД с использованием представлений, синхронизация базы данных, ..., я настоятельно рекомендую сделать это простым и рассмотреть простой запланированный экспорт + импорт необходимой информации в отдельную БД иполучить его оттуда.

...