Импорт данных в поля Wordpress-Magic с использованием запросов MySQL - PullRequest
0 голосов
/ 02 января 2012

ЧАСТЬ 01: INTRO

Привет, Stackoverflow Привет из снежных Альп Норвегии

Я уже два полных дня подряд пытаюсь перепроектировать Magic Fields.Зачем?Потому что я простой человек и хочу импортировать данные в мой wordpress из экзотической базы данных, используя CSV (а не программировать php-подпрограмму, которую я не знаю и не понимаю).

Это сработало для всехванильные поля Wordpress, то есть пост-данные, категории и так далее.(Я использовал LibreOffice Calc для тонкой настройки CSV-данных, Quest Toad для импорта в MySQL и для создания запросов MySQL).

Мой дизайнер разработал всю эту вещь с помощью плагина Magic Fields.Поэтому мне приходится иметь дело с Волшебными Полями для остальной части данных, которые мне нужно импортировать.Это база данных фильмов, поэтому это типичные метаданные для таких фильмов, как "productionyear" "producer" "imdblink" "youtubetrailerlink" и т. Д.

Мой вопрос заключается в том, что яЯ надеюсь получить некоторые идеи / поддержку / о том, как импортировать эти данные в магические поля.Я попытался отказаться от «средства импорта магических полей», оно не задокументировано и не выдает никаких сообщений об ошибках при попытке импортировать различные форматы CSV.

ЧАСТЬ 02: Понимание полей магии

Мой вопрос заключается в том, как я могу заполнить (вставить) волшебное поле данными, используя запрос MySQL?Я попытался понять, что делает Magic Fields, когда я помещаю некоторые данные в волшебное поле и нажимаю сохранить в admin-edit-post-frontend.Он делает много вещей, которые я не могу воссоздать.Для одного недостаточно вставить данные в два места, на которые ссылаются данные.wp_postmeta и wp_mf_post_meta.

В этом примере поста недостаточно, чтобы заставить данные «работать», т.е. отображать себя в wordpress ни в admin-post-editor, ни во внешнем интерфейсе для пользователя:

INSERT INTO `wp_postmeta` (`post_id`,`meta_key`,`meta_value`) VALUES ('474','originaltitle','Die Hard 3');

INSERT INTO wp_mf_post_meta ( meta_id, field_name, field_count, group_count, post_id )  VALUES ( 1100083, 'originaltitle' , 1,1 ,474 );

Также с этим номером meta_id Magic Fields создает серию из 10 для каждого поста, например, 7000-7010, а затем 8000-8010.Я не понимаю, откуда берутся эти цифры и должны ли они быть последовательными / последовательными.Я обнаружил, что однажды введенный через интерфейс администратора-пост-редактора, я могу изменить meta-id's в wp_postmeta и wp_mf_post_meta, и он все еще работает.Но опять же, когда я пытаюсь создать их самостоятельно с помощью SQL-запроса, «он просто не работает (TM)».

После включения ведения журнала запросов MySQL и изучения файла журнала из движка MySQL db, а затем пытаетсявставив запросы вручную (что я могу разобрать из журналов), я все еще не могу заставить Wordpress «найти» данные и правильно отобразить их на странице.

Я могу изменить данные с помощью запросов mysql послеЯ заполнил их с помощью внешнего интерфейса без проблем.

Кроме того, используя журналы запросов, я обнаружил, что после нажатия «SAVE» в редакторе пост-редактора Wordpress он выполняет не менее ~ 780 строк запросов mysql.(независимо от того, заполняю ли я 1 или 10 из моих магических полей)!

Еще одна вещь, которую я попробовал, - сделать снимок базы данных до и после того, как я сделал сообщение о магических полях, а затем использовалdiff-инструмент (различный, в основном WinMerge и Notepad ++).Я не могу понять, что он делает, но я думаю, что он делает некоторые скрытые трюки в wp_term_taxonomy.Это всего лишь предположение.

Часть 03: Заключение Я не знаю, программирование, поэтому любое практическое решение было бы глубоко оценено.

полный запрос, который я хочу сделать за пост (у меня есть около800 из них) здесь:> http://pastebin.com/5cZT3AjA

Полный список запросов, которые Magic Fields выполняет после нажатия кнопки сохранения в интерфейсе администратора, приведен здесь (который я называю «робот-на-работе»).).http://pastebin.com/c2c6qUQt Чтобы быть уверенным, я трижды проверил, что это не было чем-то экстраординарным, что он делает ~ 780 строк после нажатия кнопки сохранения.

Полагаю, если бы я мог найти способ массово редактировать все мои сообщения, а затем сделать так, чтобы "робот", то есть интерфейс admin-post-edit, выполнил работу по созданию всех этих строк в базе данных. После этого я мог бы изменить поля ... Но редактор массовых файлов также не отображает редактор магического поля.

Я уже 10 раз крутил голову вокруг этой проблемы и больше не могу!

1 Ответ

2 голосов
/ 31 января 2012

решено !!!!

Метаданные должны быть ХРОНОЛОГИЧЕСКИМИ и НЕ МОГУТ быть произвольными (то есть случайными).

данные должны быть вставлены в wp_mf_postmeta И wp_postmeta

этизаписи относятся к post_id, meta_id и хранилищам значений ключа для самих данных, например, где ключом будет «movietitle», а значением будет «Die Hard».

Я загрузил CSV, который я создал, чтобы сделать это, исоздать запросы MySQL.Я использовал LibreOffice Calc для тонкой настройки данных и Toad for MySQL (по Quest, бесплатно) для создания запросов MySQL ...

Эти две записи должны быть изменены для правильной вставки данных: ПРИМЕЧАНИЕMETA_ID ДОЛЖЕН быть хронологическим, т. Е. 11001, 11002, 11003 на поле в каждом посте, поэтому, если meta_key равен Movietitle, то сначала он имеет meta_id 11001, если productionyear - второй, то это 11002, а если страна третья, то это 11003

Также обратите внимание, что для wp_mf_postmeta имя поля - это ЖЕ ЗНАЧЕНИЕ, как meta_key от wp_postmeta, т.е. мета-ключ.

INSERT INTO wp_postmeta (post_id, meta_key, meta_value) VALUES (346,'produksjonsar', '18001');

INSERT INTO wp_mf_post_meta (meta_id, field_name, field_count, group_count, post_id) ЗНАЧЕНИЯ (18001, 'produksjonsar', 1,1, 346);

Файл, который я использовал для этого импорта, доступен здесь, если кому-то нужно увидеть пример того, как сделать этот импорт ... Опять же, я использовал Toad для MySQL для создания запросов SQL от вас.спойте функцию IMPORT.

Это также решает этот вопрос, который я разместил на форумах Wordpress, Stackoverflow и Stackexchange.

http://wordpress.org/support/topic/importing-data-to-custom-fields?replies=2#post-2592976

https://wordpress.stackexchange.com/questions/37691/inserting-data-into-magicfields-using-mysql-queries

Импорт данных в магические поля Wordpress с использованием MySQL запросов

Массивные реквизиты для Hameedullah Khan Stackexchange, профиль здесь https://wordpress.stackexchange.com/users/5337/hameedullah-khan, для предоставления подсказки, необходимой для поиска решения.

...