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的方法,這取決於你的需求和目標,不管怎樣,總有一款適合你~