6 ポイント 投稿者 xguru 2024-06-29 | 1件のコメント | WhatsAppで共有
  • 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) のように投稿と同様にユーザーも操作可能

1件のコメント

 
xguru 2024-06-29

WP REST API、WPGraphQL、およびYiiフレームワーク向けのWordPressブリッジであるyii2-wordpressも同様に利用できます。