WordPressでサイトのベースを作り、カートとしてEC-CUBEを連携させたいという要望がよく寄せられます。サイト内に共存させるだけならともかく、データの連携となると自分でカスタマイズするには敷居が高く感じる方が多いようです。

ただ、システムとしてはWordPressもEC-CUBE3もPHPで書かれたCMSですのでデータ共有はそれほど難しくありません。

WordPressでEC-CUBEのデータを利用

一つの方法としてはEC-CUBEのオートローダーをWordPress側で読み込んでやり、EC-CUBEのネームスペースを利用できるようにするという考えがあります。

他のサイトでEC-CUBEのログイン情報・商品情報を利用したいというようなときに有効です。

ただしEC-CUBEのルーティングが働いてしまうとFrontControllerProviderで指定したアクションが実行されてしまうので、ルーティングを動作させないように気をつけて設定してください。

EC-CUBE3でWordPressのデータを利用

EC-CUBEにWordPressのデータを表示することは比較的簡単です。EC-CUBEでWPの関数などを使用できるようにするにはEC-CUBEのhtml/index.phpでwp-load.phpを読み込んでやれば良いでしょう。これだけでWPの関数やデータが使用可能になります。

 

WP以外にも他のフレームワークやCMSとでもこの方法は使えます。データベースは別々でも大丈夫ですので柔軟な連携方法が考えられますね。

関連するカスタマイズ

Method not allowed / No route found for …エラー... EC-CUBE3でたまに確認されるエラー、Method not allowed エラーについて説明します。Whoops, looks like something went wrong.と怒られてしまった場合は、このエラーのことを思い出して見てください。 EC-CUBEにアクセスする場合、...
動的ブロックの作成方法 動的ブロックとは何か? 動的ブロックとはユーザー、時間帯、表示するページなどによって内容を変えることができるブロックです。EC-CUBE3の場合は独立したURIを持った1つの「ページ」だと考えれば本質に近いと思います。 Twigには別のページをテンプレート内に読み込む仕組みがあり、それを応用...
ドクトリンで用いられるエンティティとレポジトリとは?... EC-CUBE3やEC-CUBE4で開発を行なっていると必ず耳にするのがドクトリンやエンティティ、レポジトリといったデータベース周りの用語です。 ECサイトはデータベースと密接に関係しているため、これらを用いずにEC-CUBEの開発を行うことは不可能です。 エンティティとレポジトリとは? ...
Composer is not installed. と表示される原因と解決方法... 新しくインストールしようとしてGitからソースを持ってきた時に画面上にComposer is not installed. だけ表示される場合がよくあります。 vendor配下のライブラリはgitignoreするのが一般的なので、git cloneしたソースに/vendor/ディレクトリが存在...