使用MySQL查询将数据导入Wordpress-Magic Fields


Importing Data into Wordpress-Magic Fields using MySQL queries

PART 01: INTRO

嘿Stackoverflow来自挪威雪山的问候

我已经连续两天尝试逆向工程魔法场。为什么?因为我是一个简单的人,想要使用CSV从一个外来数据库导入数据到我的wordpress(而不是编程一个php例程,我不知道也不理解)。

这适用于所有香草Wordpress字段,即post-data,类别等。(我使用LibreOffice Calc来微调CSV数据,Quest Toad用于MySQL导入和创建MySQL查询)。

我的设计师使用Magic Fields插件广泛地设计了这整个东西。因此,我必须处理需要导入的其余数据的Magic Fields。这是一个电影数据库,所以它是典型的电影元数据,如"productionyear"、"producer"、"imdblink"、"youtubetrailerlink"等。

我的问题是,我希望得到一些见解/想法/支持如何导入这些数据到魔术领域。我已经尝试并放弃了"魔法域导入器",它没有记录,当我尝试导入各种csv格式时,不会给出任何错误消息。

PART 02:理解Magic Fields

我的问题是如何使用mysql查询填充(插入)一个神奇的字段?我试图了解它是什么魔术领域正在做的,当我把一些数据放入一个魔术领域,并按下保存,在admin-edit-post-frontend。它做了很多我似乎无法重现的事情。首先,将数据插入到引用数据的两个位置是不够的。wp_postmetawp_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。我不明白这些数字是从哪里来的,以及它们是否必须是连续的/连续的。我发现,一旦由admin-post-editor前端进入,我可以在wp_postmetawp_mf_post_meta中更改meta-id's,它仍然有效。但是当我尝试用SQL查询自己创建它们时,"它只是不起作用(TM)"。

启用MySQL querylogging并检查MySQL数据库引擎给出的日志文件,然后尝试手动插入查询(我可以从日志中看出),我仍然无法使Wordpress"找到"数据并在页面上正确显示它们。

我可以修改数据与mysql查询后,我已经填充他们使用的前端没有问题。

同样使用查询日志,我发现在我在Wordpress前端编辑器中按"SAVE"后,它不少于~780 mysql查询行(无论我填充1或10个魔术字段)!

我尝试过的另一件事是在我完成魔术字段的帖子之前和之后对数据库进行快照,然后使用diffi -tool(各种,WinMerge和notepad++主要)。我不明白它在做什么,但我认为它在wp_term_taxonomy中做了一些隐藏的把戏。这只是猜测。

Part 03:结论我不懂编程,所以任何实用的解决方案,我将不胜感激。

完整的查询,我想做每篇文章(我有大约800个这样的)在这里:>http://pastebin.com/5cZT3AjA

在我在管理前端中推送保存后,Magic Fields正在做的查询的完整列表列出在这里(我称之为"机器人在工作")。http://pastebin.com/c2c6qUQt为了确保我已经检查了三次,这不是什么特别的事情,在我按下保存后,它正在做~780行。

我想如果我能找到一种方法来批量编辑我所有的帖子,然后有"机器人"即admin-post-edit前端做的工作,在数据库中创建所有这些行。然后我可以更改字段……但是批量编辑器也没有显示魔法域编辑器。

这个问题我已经纠结了10次了,再也纠结不下去了!

SOLVED!!!!

Meta_id 's必须是按时间顺序排列的,不能是任意的(即随机的)。

数据必须插入wp_mf_postmeta AND wp_postmeta

这些记录与post_id, meta_id和的键值存储有关数据本身,比如键是"movietitle",值是"Die Hard"。

我已经上传了我创建的csv来执行此操作并创建mysql查询。我使用LibreOffice Calc对MySQL的数据和蟾蜍进行微调(由Quest提供,免费)。

需要修改这两条记录才能正确插入数据:注意,META_ID必须按时间顺序排列,即每个字段每个帖子11001,11002 11003如果meta_key是Movietitle是第一则meta_id是11001,如果productionyear是第二则是11002如果country是第三则是11003

还要注意,对于wp_mf_postmeta,字段名与meta_key是相同的值从wp_postmeta,即元键。

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

INSERT INTO wp_mf_post_meta (meta_id, field_name, field_count, group_count, post_id) VALUES (18001, ' producksjonsar ', 1,1,346);

我用于导入的文件可以在这里找到需要查看如何执行此导入的示例…我再次使用使用IMPORT函数创建SQL查询。

  • http://ge.tt/9Q5h4zC

这也解决了这个问题,我张贴在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

使用MySQL查询将数据导入Wordpress-Magic Fields

Hameedullah Khan Stackexchange的大量道具,配置文件在这里https://wordpress.stackexchange.com/users/5337/hameedullah-khan,基本上提供了找到解决方案所需的线索。