# Corcel - PHP / Laravel 웹앱에서 Wordpress를 백엔드로 사용하기

> Clean Markdown view of GeekNews topic #15591. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=15591](https://news.hada.io/topic?id=15591)
- GeekNews Markdown: [https://news.hada.io/topic/15591.md](https://news.hada.io/topic/15591.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2024-06-29T10:03:01+09:00
- Updated: 2024-06-29T10:03:01+09:00
- Original source: [github.com/corcel](https://github.com/corcel/corcel)
- Points: 6
- Comments: 1

## Topic Body

- 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)처럼 포스트와 유사하게 사용자 조작 가능

## Comments



### Comment 26762

- Author: xguru
- Created: 2024-06-29T10:04:02+09:00
- Points: 1

WP REST API, WPGraphQL 및 Yii 프레임워크의 WordPress 브릿지인 yii2-wordpress 도 비슷하게 사용 가능합니다.
