WordPressにCakephpのデータを表示する

今回はWordpress側に管理画面を作らずにWordpressにCakephpのデータ表示のみ行います。
Wordpressは3.3.1、Cakephpは古いですが1.2.10
例として、Yahoo地図のように都道府県を指定すると市町村一覧を表示する簡単なものを作ります。
Cakephpで都道府県IDが付いた市町村データがあるものとします。

WordPress側から「http:www.example.com/city?pref=13」のように引数を指定してアクセスし、引数でCakephpからデータを抽出して表示します。
スラッグ「city」の固定ページに表示しますので、テーマに「page-city.php」を作成します。


Cakephpの設定

VIA:http://www.mnsite.com/2011/08/wordpress%E3%81%AE%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%A7cakephp%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/

参考サイトと同じようにCakephpのindex.phpを変更。

モデル、コントローラーは通常のCakephpと同じ。ビューは使用しません。


GeSHi Error: GeSHi could not find the language wp (using path /home/sites/heteml/users/m/w/e/mweb/web/webpaprika.com/wordpress/wp-content/plugins/codecolorer/lib/geshi/) (code 2)

DBから抽出したデータをreturnします。


WordPressの設定

今回はプラグインにしていますが、function.phpに書いても動くと思います。


GeSHi Error: GeSHi could not find the language wp (using path /home/sites/heteml/users/m/w/e/mweb/web/webpaprika.com/wordpress/wp-content/plugins/codecolorer/lib/geshi/) (code 2)

testcake.phpを作りpluginsに入れて有効化します。

テーマは通常のpage.phpをコピーしてpage-city.phpにします。
query_varsに引数のprefが入ってきますので、
$wp_query->query_vars[‘pref’]
で値が取得できます。
表示部分はCakephpのビューと同じようにモデル付きで


GeSHi Error: GeSHi could not find the language wp (using path /home/sites/heteml/users/m/w/e/mweb/web/webpaprika.com/wordpress/wp-content/plugins/codecolorer/lib/geshi/) (code 2)

とするとWordpressのテーマを使い、Cakephpのデータを表示できます。


ちなみに、プラグイン専用のテーマを使いたい時は


GeSHi Error: GeSHi could not find the language wp (using path /home/sites/heteml/users/m/w/e/mweb/web/webpaprika.com/wordpress/wp-content/plugins/codecolorer/lib/geshi/) (code 2)

専用テーマを使うトリガーが何になるかによって違いますが、
ページ名が「abc」の時に使うのであれば


GeSHi Error: GeSHi could not find the language wp (using path /home/sites/heteml/users/m/w/e/mweb/web/webpaprika.com/wordpress/wp-content/plugins/codecolorer/lib/geshi/) (code 2)

と条件をつけて設定すれば、abcの時だけ専用テーマになります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)