将bookmarks.html文件转换为WP帖子

时间:2018-01-02 作者:joelybristol

有点遥不可及,但我想知道是否有人可以为我指出如何实现这一目标的正确方向。

我的计划是使用ACF构建一个字体导入器/上传器,用户可以在其中上传导出的浏览器书签文件。

然后,主要的挑战是从书签中提取每个url。html文件,并将其转换为多个Wordpress帖子。

我使用这个插件几乎实现了这一点(只有在通过后端导入时):https://wordpress.org/plugins/import-html-pages/

但是我需要将上传/导入带到前端,而不是将整个html文件变成一篇文章或一个页面,而是将每个链接分离到各个帖子。

任何帮助我起步的想法都会很好。谢谢

1 个回复
最合适的回答,由SO网友:David Sword 整理而成

上传最简单的方法是使用表单插件。人们喜欢Contact Form 7, WPForms, 其他人喜欢Gravity Forms. 如果您只想从Wordpress用户上传。您可以在password page, 通过生成表单shortcode 基于PHP条件。等

您可以创建自己的HTML表单,使用一个短代码或任何东西,然后只需读取文件而不是保存它来进行导入。

(只是一些想法,还有更多。帖子中没有多少项目背景,所以基本上是一张空白的方法板,你可以选择)。

导入,这样您就有了。html导出,可以从插件保存,也可以使用挂钩(有时类似_after_post_submit), 或者它没有从基本html表单保存到PHP temp中,您只想读取并删除它。没关系,方法是一样的:

要查找html文件中的链接,可以使用PHP DOMDocument Class, 像这样的图书馆php-selector, 或者用香草和基本的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.

结束