Corcel - ใช้ WordPress เป็นแบ็กเอนด์ในเว็บแอป PHP / Laravel
(github.com/corcel)- ชุดคลาส PHP ที่ช่วยให้ดึงข้อมูลจากฐานข้อมูล WordPress ได้โดยตรงอย่างง่ายดาย โดยอิงกับ Eloquent ORM ของ Laravel
- ใช้ WordPress เป็นแผงผู้ดูแลระบบฝั่งแบ็กเอนด์หรือเป็น CMS และให้แอป PHP อื่น ๆ สามารถคิวรีข้อมูลนั้นในชั้นโมเดลได้
- การใช้งาน Corcel กับ Laravel เป็นวิธีที่ง่ายที่สุด แต่ก็สามารถใช้ได้กับทุกโปรเจกต์ PHP ที่ใช้ Composer
- ในไฟล์ตั้งค่า
config/corcel.phpสามารถตั้งค่าการเชื่อมต่อฐานข้อมูล WordPress และลงทะเบียน custom post type กับ shortcode ได้อย่างง่ายดาย
ตัวอย่างการใช้งาน
- ใช้
Post::published()->get()เพื่อดูโพสต์ที่เผยแพร่แล้วทั้งหมด และใช้Post::find(31)เพื่อดูโพสต์เฉพาะรายการ- สามารถสร้างคลาสโมเดล Post แบบกำหนดเองเพื่อ override ชื่อ connection เป็นต้น
- ใช้
$post->meta->linkเพื่อดูค่า custom meta- เมธอด
saveMeta(),createMeta()ใช้สร้างและอัปเดตเมทาดาทา - สามารถค้นหาโพสต์ตามฟิลด์ meta ได้ด้วยสโคป
hasMeta(),hasMetaLike()
- เมธอด
- จัดเรียง Post และ User ได้ด้วยสโคป
newest(),oldest() - สามารถจัดการ Custom Post Type ได้ด้วยเมธอด
type()เช่นPost::type('video')หรือใช้คลาสแบบกำหนดเอง - ใน
config/corcel.phpสามารถแมป shortcode กับคลาสตัวประมวลผลได้- เพิ่ม shortcode ได้ด้วยเมธอด
Post::addShortcode() - การแปลง shortcode ใช้ไลบรารี
thunderer/shortcode
- เพิ่ม shortcode ได้ด้วยเมธอด
- ใช้
$post->taxonomies()เพื่อดู taxonomy ของโพสต์นั้น- ใช้
Post::taxonomy()เพื่อค้นหาโพสต์ด้วย taxonomy
- ใช้
- ใช้
$page->attachmentเพื่อดูไฟล์แนบของเพจ/โพสต์ - ใช้
$post->thumbnailเพื่อดู thumbnail ของโพสต์/เพจ - ใช้
Option::get('siteurl')เพื่อดูค่า option - ใช้
Menu::slug('primary')->first()เพื่อดูเมนูที่ต้องการ- เข้าถึงคอลเลกชันรายการเมนูได้ผ่าน
$menu->items - ใช้
$item->instance()เพื่อดูอินสแตนซ์ต้นฉบับ (Page, Post, CustomLink, Term) - ใช้
$item->parent()เพื่อดูอินสแตนซ์แม่
- เข้าถึงคอลเลกชันรายการเมนูได้ผ่าน
- จัดการผู้ใช้ได้ในลักษณะคล้ายกับโพสต์ เช่น
User::find(1)
1 ความคิดเห็น
WP REST API, WPGraphQL และ
yii2-wordpressซึ่งเป็น WordPress bridge ของ Yii framework ก็สามารถใช้งานได้ในลักษณะเดียวกัน