有点渺茫,但不知道是否有人可以指出我的正确方向,如何可以实现这一点。
我的计划是构建一个字体最终导入器/上传器,可能使用ACF,用户可以上传他们导出的浏览器书签文件。
接下来的主要挑战是从bookmarks.html文件中提取每个url,并将其转换为多个Wordpress帖子。
我几乎实现了这一点(仅当通过后端导入时),使用这个插件:https://wordpress.org/plugins/import-html-pages/
但是..。我需要把上传/导入带到前端,而不是把整个html文件变成一个帖子或页面,实际上把每个链接分开到各个帖子。
任何帮助或想法开始我将是很好的。谢谢。
发布于 2018-01-03 00:08:50
最简单的方法是使用表单插件。像联络表格7,WPForms,还有其他人喜欢重力形式。如果你想上传只来自Wordpress用户。您可以将表单隐藏在密码页中,在PHP上通过短码生成表单。等。
您可以使用短代码或其他方法创建自己的HTML表单,然后只需读取该文件,而不是保存它以进行导入。
(只是一些想法,还有更多。文章中的项目上下文不多,所以基本上是一个空白的方法,你可以选择)。
因此,您可以从插件中保存.html导出,并可以使用钩子(有时类似于_after_post_submit)访问它,也可以从基本的html表单中删除PHP,只需读取和删除它。没关系,方法是一样的:
要在html文件中找到链接,可以使用PHP DOMDocument类 (类似于php选择器的库),也可以使用普通的fopen()和preg_match_all()。
您必须创建一种方法来识别.html是如何构建的,以了解它来自哪个浏览器,从而了解DOM查询或regex模式将如何工作。
此后,您将有一系列的链接。循环遍历数组,检查是否存在相同链接的帖子,然后继续使用wp_insert_post()单独插入
请注意,这是一个宽泛的问题的广泛答案。发布一些你尝试过的代码片段,面对这些代码,等等,它们将为你提供更多的帮助。
在开始任何项目的过程中,一个很好的技巧就是写一个你想要的评论列表,然后开始填写代码。
// create a upload form for users
// on form submit, save file
// open saved file
// find out which browser exported from
// ..etc.https://wordpress.stackexchange.com/questions/289959
复制相似问题