Ikeda->Weblog();

Ikedaの徒然雑記。

WordPress Pumpkin

【WordPress】 kohana-for-wordpress

| 0件のコメント

【WordPress】 -for-wordpressこんにちは、ikedaです。

今、とあるサイトリニューアル案件でいろいろと調査テストを行っています。

そのサイトでは既にユーザページ(ログイン・ユーザ登録有)用のシステムが稼働しており、これはKohana3.3で構築されています。今回リニューアルするにあたり、フロントエンド部にWordPress等のCMSを導入しようか、という案が出てきました。

CMSは今後の更新が楽なんですが、問題は既存システムの「見た目」の問題。

サイトカラーやイメージがガラッと変わってしまうため、表だけをWordPress化するとデザインの違いが大きすぐる!

そこで見つけたのがこちら。



kerkness / kohana-for-wordpress

Plugin for running the Kohana 3.0 framework inside of WordPress
== Description ==
Kohana for WordPress is a  that allows you to integrate
PHP applications that use the Kohana 3.0 architecture with a wordpress site.

 

うおおおこれはナイスなプラグインがっっっ!

と思ったんですがー

 

これ、 Kohana3.0用なんですよね。3.0と3.3ではファイル・ディレクトリ名の命名規則が変更されており、

 

  • 3.0でのコントローラ
    • application/classes/controller/test.php
  • 3.3でのコントローラ
    • application/classes/Controller/Test.php
 

そう、ucfirst(頭文字が大文字)なんです。

ControllerやModelについては autoloading なので、auto_load_lowercase を使えばなんとかなりそうですが、問題はプラグイン内部でKohanaのコアファイルを読み込んでいる部分。


kohana-for-wordpress.php

// Load the core Kohana class             ***** Include Kohana class from path defined in kohana settings
require get_option('kohana_system_path').'classes/kohana/core'.get_option('kohana_ext');
if (is_file(get_option('kohana_application_path').'classes/kohana'.get_option('kohana_ext')))
{
// Application extends the core
require get_option('kohana_application_path').'classes/kohana'.get_option('kohana_ext');
}
else
{
// Load empty core extension
require get_option('kohana_system_path').'classes/kohana'.get_option('kohana_ext');
}


ああああ直パス・・・orz

他にもKohanaの出力をWordPressに読み込む部分でちょっと差異があったりしたんで、ごそごそと修正をかけ、めっちゃ恥ずかしいんですがGitHubにフォーク版としてアップしておきました。


 

もし何かお役に立てることがあれば幸いですm(_ _)m

 

コメントを残す