将WordPress转换为Android或iPhone应用程序

时间:2013-11-19 作者:SixfootJames

我的客户要求我将他们的WordPress网站转换为Android和iPhone应用程序。我查看了很多选项,尤其是博客部分,这似乎是可行的,因为rss可以用作db,但我以客户身份使用WP站点,我想知道是否有可能将站点的所有内容提取出来,保存为rss并用作db。

或者有更好的方法值得赞赏?

非常感谢

5 个回复
最合适的回答,由SO网友:Jessica 整理而成

以下是一个要点列表,可以帮助您为WordPress博客制作iOS应用程序:

您可以通过在WordPress中安装JSON插件来解析RSS提要中的XML、JSON,也可以直接解析HTML。

1) 我建议使用NSXMLParser并解析RSS提要,而不是使用JSON。原因是,如果JSON插件出现问题,或者开发人员只是停止更新您正在使用的插件,或者插件崩溃等。JSON数据将崩溃,您使用JSON插件制作的本机应用程序中的数据也将崩溃。另一方面,即使您的博客崩溃,RSS和XML数据仍然存在。这不会干扰应用程序用户。解析HTML也是一样,我不建议这样做,因为如果你改变主题,HTML的结构也会改变,iOS应用程序中的解析数据会受到影响,你必须重新完成整个工作,然后等待app Store提交。因此,让我们继续在RSS提要中解析XML。

2) 使用NSXMLParser解析RSS提要。您也可以使用可用于解析XML提要的第三方库,但我建议您坚持使用内置的NSXMLParser,因为它有很多在线帮助。

2) 要连接到XML提要等web服务,可以使用AFNetworking等第三方库,也可以使用Apple的内置库,如NSURLConnection 和其他类连接并从webservice下载数据。

5) 下面是一些关于上述步骤的非常简单的教程。How to Use NSURLConnection, How To Parse RSS with NSXmlParser

6) 之后,最重要的事情之一是在显示博客帖子的UITableViewCells中异步下载图像。我建议您使用SDWebImage 图书馆,因为它本身就是一个项目,可以为你节省很多时间,你不能浪费时间去构建一些已经存在的东西。

7) 然后,您必须创建一个UIWebView,当点击UITableView中任何博客文章的行时,您可以使用UIWebView中segue的链接来显示实际的博客文章。可以使用DidSelectRowatingIndexPath在视图控制器之间传递数据。

8) 在包含UIWebView的视图控制器下方,可以添加停止、刷新、在Facebook和Twitter上共享等功能。

9) 正如你所看到的,这是一项大量的工作,商业人士只是认为开发iOS应用程序很容易,但事实是,完全打包应用程序并提交到应用商店需要一些时间。您还可以使用服务外包您的项目,如Convert WordPress Blog To iOS App 如果你与他们分享收入,这是完全免费的,但这是你的选择,我建议你自己编写代码,以完全拥有你的应用程序。

Rest只是一个选择的问题,你想在你的应用程序中实现不同的功能,以脱颖而出。您可以在左侧添加一个Facebook风格的滑动导航控制器,以创建和解析博客上的特定类别,您可以在Web视图中使用Flipboard风格的滑动等。对于这些内容,有很多第三方库可用。

希望这有帮助!

SO网友:Aram Boyajyan

退房JSON API 插件。它将允许您对网站上的大多数内容使用RESTful API。

如果您不想在WordPress中使用API(即,您希望它位于不同的域/子域,具有单独的代码库等),您可以通过纯PHP或使用微框架(如Slim.
在这种方法中,您可以通过以下方式加载WordPress/wp-load.php. 您可以使用所有功能(例如get_posts()) 您仍然可以像编写WP插件一样查询数据库:

全球wpdb美元$结果=$wpdb->查询(“您的查询在此”);

Notes

使用第二种方法可以获得更好的性能,有几个技巧:

  • 跳过加载主题引擎,因为如果您使用JSON提供所有服务,您可能不需要它:

    define(\'WP\\u USE\\u THEMES\',FALSE);

    禁止对任何API调用执行WP cron。这将确保API调用中没有挂起,因为cron是在后台执行的。

    define(\'DISABLE\\u WP\\u CRON\',TRUE);

SO网友:Matt Bromwich

这个问题发布已经四年了,所以公认的答案不再那么重要了。WooCommerce推出WooCommerce REST API 默认情况下,所有WordPress安装都会附带此功能。因此,不需要任何额外的端点或额外的插件。只需直接从移动应用程序使用REST API即可。

SO网友:mircobabini

一个解决方案可能是使用json API插件之类的东西为您的内容提供一个简单的API。

SO网友:Avinash

您也可以使用此wordpress插件:https://wordpress.org/plugins/androapp/这确实是用法JSON API Plugin 正如TopSiteMaker之前所建议的那样。

它还内置了对货币化、推送通知和图像共享的支持。它目前只提供android应用程序,请尝试一下

结束