6 คะแนน โดย xguru 2024-06-29 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ชุดคลาส 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
  • ใช้ $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 ความคิดเห็น

 
xguru 2024-06-29

WP REST API, WPGraphQL และ yii2-wordpress ซึ่งเป็น WordPress bridge ของ Yii framework ก็สามารถใช้งานได้ในลักษณะเดียวกัน