Hey Stackoverflow 来自挪威白雪皑皑的阿尔卑斯山的问候
我现在连续两天尝试对Magic Fields进行逆向工程。为什么?因为我是一个简单的人,并且想要使用CSV从异国情调的数据库导入数据到我的wordpress(而不是编写php例程,我不知道也不懂)。
这适用于所有香草Wordpress字段,即后期数据,类别等。 (我使用LibreOffice Calc来微调CSV数据,使用Quest Toad进行MySQL导入并创建MySQL查询。)
我的设计师使用Magic Fields插件广泛设计了这一整体。因此,我必须处理Magic Fields以获取我需要导入的其他数据。这是一个电影数据库,因此它是电影的典型元数据,如“productionyear
”“producer
”“imdblink
”“youtubetrailerlink
”等等。
我的问题是,我希望获得有关如何将这些数据导入魔术领域的一些见解/想法/支持。我尝试并放弃了“魔术字段导入程序”,它没有记录,并且在我尝试导入各种csv格式时没有给出任何错误消息。
我的问题是如何使用mysql查询在数据中填充(插入)魔术字段?
我试图了解当我将一些数据放入魔术场并按下admin时,在admin-edit-post-frontend中,Magic Fields正在做什么。它做了许多我似乎无法重新创建的事情。例如,将数据插入引用数据的两个位置是不够的。 wp_postmeta
和wp_mf_post_meta
。
此示例帖子不足以使数据“正常工作”,即在管理员后期编辑器和用户的前端都不会在wordpress中显示自己:
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前端输入,我就可以更改meta-id's
和wp_postmeta
中的wp_mf_post_meta
,它仍然有效。但是,当我尝试使用SQL查询自己创建它们时,“它只是不起作用(TM)”。
启用MySQL查询运行并检查MySQL数据库引擎提供的日志文件然后尝试手动插入查询(我可以从日志中查看),我仍然无法让Wordpress“查找”数据和显示它们正好在页面上。
我使用前端填充后可以使用mysql查询修改数据,没有任何问题。
同样使用查询日志,我发现在Wordpress前端 - 后编辑器中按“SAVE”之后,它不会少于~780个mysql查询行(无论我填充1或10个魔法字段)!
我尝试过的另一件事是在完成魔术字段之前和之后拍摄数据库的快照,然后使用diff-tool(主要是各种WinMerge和Notepad ++)。我无法理解它在做什么,但我认为它在wp_term_taxonomy中做了一些隐藏的诡计。这只是猜测。
第03部分:结论我不知道编程所以任何实际的解决方案都会被深深地理解。
我想在每个帖子上做的完整查询(我有大约800个)在这里:> http://pastebin.com/5cZT3AjA
此处列出了我在管理前端推送保存后Magic Fields正在执行的完整查询列表(我将其称为“机器人在工作中”)。 http://pastebin.com/c2c6qUQt为了确保我已经三次检查过,在我推送保存之后它正在进行~780行不是特别的事情。
我想如果我能找到一种方法来批量编辑我的所有帖子,然后让“机器人”即admin-post-edit前端完成在数据库中创建所有这些行的工作。之后我可以更改字段......但是批量编辑器也没有显示魔术字段编辑器。
我现在已经扭过头来解决这个问题10次了,不能再扭曲了!
答案 0 :(得分:2)
解决!!!!
Meta_id必须是年代学的,不能随意(即随机)。
必须将数据插入wp_mf_postmeta和wp_postmeta
这些记录与post_id,meta_id和key-value商店有关 数据本身,其中键将是“movietitle”,值将是“死硬”。
我上传了我创建的csv来执行此操作并创建mysql查询。 我使用LibreOffice Calc来微调数据和Toad for MySQL(通过Quest,免费) 创建MySQL查询...
需要修改这两个记录才能正确插入数据: 注意META_ID必须按时间顺序排列,即每个字段每个字段11001,11002 11003 因此,如果meta_key是Movietitle,那么meta_id为11001,如果productionyear是第二,则为11002,如果country是第三,则为11003
另请注意,对于wp_mf_postmeta,fieldname是SAME VALUE as 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)VALUES(18001,'produksjonsar',1,1,346);
我在这里可以使用我用于此导入的文件,如果有的话 需要看一个如何进行此导入的示例...我再次使用 Toad for MySQL使用IMPORT函数创建SQL查询。
这也解决了我在Wordpress论坛,Stackoverflow和Stackexchange上发布的这个问题。
http://wordpress.org/support/topic/importing-data-to-custom-fields?replies=2#post-2592976
Importing Data into Wordpress-Magic Fields using MySQL queries
Hameedullah Khan Stackexchange的大量道具,在此处https://wordpress.stackexchange.com/users/5337/hameedullah-khan,基本上提供了找到解决方案所需的线索。