Импорт данных для плагина Advanced Custom Fields?

24 февр. 2012 г., 16:49:42
Просмотры: 15.3K
Голосов: 8

У меня есть раздел участников, созданный с использованием плагина http://www.advancedcustomfields.com. Есть 300 участников, каждый из которых имеет следующие данные:

  • Название компании
  • Специализация (чекбоксы)
  • Веб-адрес
  • Телефонный номер
  • Регион
  • Адрес
  • Email

Какой лучший способ импортировать эти данные в базу данных? Как мне настроить CSV-файл? Я еще не добавил 300 страниц участников, у меня только эти кастомные поля, настроенные через плагин.

7
Комментарии

Закрыто с голосованием как не по теме. Это либо вопрос по PHP/SQL, а не по WordPress, либо это специфичный вопрос по плагину, и поэтому слишком узкий.

Chip Bennett Chip Bennett
24 февр. 2012 г. 17:12:19

@ChipBennett ??? Это абсурд! На каком именно форуме я должен тогда задать этот вопрос? Если задать на обычном SO форуме, меня просто отправят сюда! Здесь полно вопросов по конкретным плагинам. Вы слишком агрессивно модерируете этот форум, и это уже не в первый раз!

Rob Rob
24 февр. 2012 г. 17:27:06

Справедливо. Итак: какая часть этого вопроса относится именно к WordPress? Вы спрашиваете об импорте произвольного набора данных в произвольную базу данных с использованием CSV-файла. Ничто из этого не имеет отношения к WordPress. (P.S. Я не модератор.)

Chip Bennett Chip Bennett
24 февр. 2012 г. 17:32:35

@ChipBennett Это ВПОЛНЕ касается WordPress, поскольку мне нужно, чтобы все было в формате, читаемом CMS. То есть вы утверждаете, что сотни вопросов здесь о плагинах слишком локализованы, а вопросы о базе данных не имеют отношения? В моей боковой панели связанных вопросов полно похожих вопросов, но согласно вашим "правилам" я не могу разместить это здесь! Тогда где именно мне публиковать такой вопрос?

Rob Rob
24 февр. 2012 г. 17:46:11

Что вы имеете в виду под "читаемым CMS"? Вы пытаетесь сделать raw SQL импорт для обновления записей в таблице БД wp_post_meta для 300 существующих записей?

Chip Bennett Chip Bennett
24 февр. 2012 г. 17:49:37

@ChipBennett Я пытаюсь импортировать 300 новых страниц через csv-файл, что сработало нормально (заголовок страницы - это название компании). Следующая часть - заполнение пользовательских полей данными, но я не знаю, что именно нужно вставить в каждое поле csv-файла, чтобы корректные данные отображались для соответствующего участника.

Rob Rob
24 февр. 2012 г. 17:57:50

Два вопроса: 1) как вы импортировали статические страницы, и 2) почему вы хотите использовать CSV файл для импорта? Связанный вопрос: каким именно способом вы импортируете? Вы используете импортер WordPress через Консоль -> Инструменты -> Импорт или какой-то другой метод?

Chip Bennett Chip Bennett
24 февр. 2012 г. 18:00:03
Показать остальные 2 комментариев
Все ответы на вопрос 1
1

Похоже, вы успешно импортировали все 300 страниц, судя по комментариям. (Независимо от того, как вы это сделали — с помощью плагина WordPress для импорта или с использованием инструментов MySQL, таких как phpMyAdmin, Sequel Pro или других)... У вас есть 300 страниц в таблице wp_posts. Давайте начнём отсюда...

Плагин ACF использует таблицу wp_postmeta для хранения и связывания пользовательских полей с конкретными записями/страницами. (Очень продуманный дизайн, кстати!)

Эта таблица состоит из 4 столбцов:

meta_id — Уникальный автоинкрементируемый первичный ключ

post_id — Внешний ключ, который связывает запись со страницей

meta_key — В данном случае имя (ключ) пользовательского поля

meta_value — Фактический текст или содержимое этого пользовательского поля

Таким образом, если вы создаёте CSV-файл, вам нужно будет структурировать данные в соответствии с этой моделью. Если у вас есть 300 записей в таблице wp_posts, у каждой из них должен быть уникальный ID (в столбце ID). Именно этот ID вы будете использовать в столбце wp_postmeta.post_id.

Теперь, если вы изучите созданную вами группу полей, вы увидите все имена полей (которые соответствуют значениям wp_postmeta.meta_key). Вот скриншот примера из проекта, над которым я сейчас работаю:

Пример ACF

Я назвал свои поля header_content и left_sidebar_content, например. Наконец, поместите значения каждого из ваших полей в столбец wp_postmeta.meta_value.

Всё это — общий обзор схемы и структуры данных. Реализация импорта данных зависит от вас. (Будь то CSV-файл, XML или написание SQL-запросов для вставки данных).

Надеюсь, это поможет вам двигаться в правильном направлении!

24 февр. 2012 г. 19:55:58
Комментарии

не могу сказать, что подход, используемый ACF, является хорошим дизайном или нет, так как данные нелегко искать или индексировать...

Raptor Raptor
22 июн. 2015 г. 05:28:17