WordPress 是最流行的开源应用程序之一,这意味着许多人习惯使用其管理界面来管理其网站。在构建网站时,有时这样做是有利的,因为它可以避免您需要重新培训用户如何管理内容、菜单、照片等。一种流行的设置此类网站的方法是使用 WordPress 作为管理界面,然后在 Laravel 等框架中构建前端。
事实上,我在这篇 Laravel 新闻中也做了这件事,您可以查看 如何使用 WordPress 作为 Laravel 的后端。我使用了 WP-API 并构建了自己的导入程序,但如果您想查看一些现成的解决方案,请查看以下软件包
WordPress Corcel
Corcel 使用 Laravel Eloquent 模型来管理直接从 WordPress 数据库中检索内容。安装完成后,您可以使用您习惯的相同舒适语法
// All published posts$posts = Post::published()->get();$posts = Post::status('publish')->get(); // A specific post$post = Post::find(31);
它包括对帖子、帖子类型、分类法、页面、类别和附件的支持。唯一的缺点是该软件包仍在开发中。
WordPressToLaravel
WordPressToLaravel 将数据从 wordpress*.com* 博客同步。它被设计为通过 Laravel Scheduler 作为计划的 cron 作业运行。然后它将自动下载并将帖子数据导入到您的本地数据库中。
设置完成后,您将负责构建自己的模型、控制器和视图以与您的数据库集成,使用 wordpress.com
系统的一些优势是他们自动处理 WordPress 升级、资产 CDN,并且可以通过网站、移动应用程序或桌面应用程序添加内容。
该软件包的缺点是它仅限于帖子数据,不支持类别或标签。
WP Eloquent
WP Eloquent 是一个为 WordPress 数据库表创建包装器的软件包。它包括帖子、评论、帖子元数据、用户和用户元数据的模型。安装完成后,以下是一个使用示例
use WeDevsORMWPPost as Post;Post::type('page')->get()Post::status('publish')->get()Post::type('page')->status('publish')->get()
WP Eloquent 也与 Laravel DebugBar 一起工作,并且不会创建任何额外的数据库连接。
laravel-wp-api
laravel-wp-api 直接与 WordPress JSON REST API 集成,用于自托管网站。
安装后,您可以访问 WpApi
别名,这使得查询数据变得容易
$post = WpApi::post($slug);$catPosts = WpApi::category_posts($slug, $page);
集成 WordPress 和 Laravel 的其他方法
当然,以上三个软件包不是集成这两个的唯一方法。这里是一些手动集成的教程
- WordPlate 建立在 Laravel 和 Symfony 组件之上,并通过 PHP Composer 利用 WordPress 作为其依赖项。
- 将 WordPress 与 Lumen 一起使用
- 使用 WordPress 后端设置 Laravel API(包括 Eloquent 特性示例)
- 使用 Laravel 4 + Eloquent 与 WordPress 一起使用
如您所见,集成 WordPress 和 Laravel 的方法有很多,根据您的目标,我相信您一定能找到现有的软件包或教程来帮助您将这两个系统集成在一起。
