- Laravel의 Eloquent ORM 기반으로 WordPress 데이터베이스에서 직접 데이터를 쉽게 가져올 수 있도록 해주는 PHP 클래스 모음
- WordPress를 백엔드 관리자 패널이나 CMS로 사용하고, 다른 PHP 앱에서 그 데이터를 모델 계층으로 쿼리할 수 있게 해줌
- Laravel에서 Corcel을 사용하는 것이 가장 쉽지만, Composer를 사용하는 모든 PHP 프로젝트에서 사용 가능
-
config/corcel.php
설정 파일에서 WordPress 데이터베이스 연결 및 사용자 정의 포스트 타입, 쇼트코드 등록을 쉽게 할 수 있음
사용법 예제
- Post::published()->get()로 발행된 모든 포스트 조회 가능, Post::find(31)로 특정 포스트 조회
- 사용자 정의 Post 모델 클래스를 생성해서 connection 이름 등을 재정의할 수 있음
- $post->meta->link로 커스텀 메타 값 조회
- saveMeta(), createMeta() 메서드로 메타 데이터 생성 및 업데이트
- hasMeta(), hasMetaLike() 스코프로 메타 필드 기준 포스트 검색 가능
- newest(), oldest() 스코프로 Post와 User의 정렬 가능
- Post::type('video')처럼 type() 메서드나 사용자 정의 클래스로 Custom Post Type 다룰 수 있음
- config/corcel.php에 쇼트코드와 처리 클래스 매핑 가능
- Post::addShortcode() 메서드로 쇼트코드 추가
- 쇼트코드 파싱은 thunderer/shortcode 라이브러리 사용
- $post->taxonomies()로 특정 포스트의 텍소노미 조회
- Post::taxonomy()로 텍소노미로 포스트 검색
- $page->attachment로 페이지/포스트의 첨부파일 조회
- $post->thumbnail로 포스트/페이지 썸네일 조회
- Option::get('siteurl')로 옵션값 조회
- Menu::slug('primary')->first()로 특정 메뉴 조회
- $menu->items로 메뉴 아이템 컬렉션 접근
- $item->instance()로 원본 인스턴스(Page, Post, CustomLink, Term) 조회
- $item->parent()로 부모 인스턴스 조회
- User::find(1)처럼 포스트와 유사하게 사용자 조작 가능