Heim  >  Artikel  >  Backend-Entwicklung  >  Laravel 与 WordPress 系列 -- 集成 Laravel 和 WordPress 的扩展包大全

Laravel 与 WordPress 系列 -- 集成 Laravel 和 WordPress 的扩展包大全

WBOY
WBOYOriginal
2016-06-20 12:34:141432Durchsuche

WordPress是世界上最流行的开源应用之一,据统计,全世界20%的网站基于WordPress开发,使用WordPress管理后台、发布文章、添加菜单、上传图片非常方便,因此有时候我们想要借助WordPress的后台来构建应用,但是前台我们想要有更多自定义空间,能够像Laravel一样进行各种灵活的开发,好消息是,Github上有很多针对Wordpress后台+Laravel前台的扩展包,下面我们来一睹为快吧:

WordPress Corcel

Corcel 使用 LaravelEloquent 模型从 WordPress 数据库中直接获取内容,安装完成后,你可以通过如下Laravel风格代码来获取模型数据:

// 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以调度任务的方式运行,自动下载并导入文章数据到本地数据库。

安装设置完成后,你需要负责编写与自己数据库相匹配的模型类,控制器和视图代码,使用WordPress.com的好处是它可以自动处理WordPress的升级,并使用CDN技术,可以通过网站、移动App和桌面App发布内容。

缺点是这个扩展包只能用于发布文章数据,不支持分类和标签。

WP Eloquent

WP Eloquent 是一个用于创建封装Wor的Press数据表模型的扩展包,包括Post、Comment、Post Meta、User以及User Meta模型类。安装完成后下面是使用示例:

use WeDevs\ORM\WP\Post 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的方法

当然,集成WordPress和Laravel并不局限于以上这几个扩展包,下面是如何手动集成两者的一些文章和教程:

  • WordPlate 基于Laravel和Symfony组件构建并使用WordPress作为依赖
  • 集成WordPress和Lumen
  • 设置集成WordPress后台的Laravel API
  • 集成Laravel 4+ Eloquent和WordPress

正如你所看到的,有很多种集成WordPress和Laravel的方法,这取决于你的需求和目标,不管怎样,总有一款适合你~

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn