WordPressとMixiを連携させる » WP-MixiPublisher (1)
Wp-MixiPublisher 1.0.0 RC2 をリリース at yujilog
Lovelog+*さんでMT2MIXI*MIXIとWordPressの連動投稿に付いての記事が連載されてましたが、mt2mixi自体がもともとMT用だということでいろいろと苦労されてるご様子。
ちょうど私も同じようなことを考えてたのでmixi連動について調査をしたところ、PukiWiki原作者のyu-jiさんが同種の機能をWPのプラグインとして公開されているのを発見。今年の9月リリースですから結構新しめ。オープンソースはこういう点が素晴らしいですね。自作する手間が省けました。
てなわけで早速インストールして有効化―と思ったらありゃ?WPごと落ちますね。
Fatal error: Call to a member function on a non-object in/—–/wp-content/plugins/wp-mixipublisher/wp-babel-wpmp.php on line 155
とりあえずwp-babel-wpmp.phpを覗いてみると・・・
/**
* getWpSetting
*
* @param none
* @return none
*/
function getWpSetting() {
$option = get_option($this->plugin_name);
if(!$option == false) {
$settingVO = $option;
} else {
$settingVO = new WPBabelSettingVO_01a_wpmp();
$result = $this->wpbmodel->setDefalutSetting();
$this->writeWpSetting($result);
}
$settingVO->setParam(’blog_charset’, get_settings(’blog_charset’));
$settingVO->setParam(’siteurl’, get_settings(’siteurl’));
$settingVO->
setParam(’plugin_dir’, dirname(__FILE__) . ‘/’);
return $settingVO;
}
の赤で示した行(155行目)で落ちてる模様。
$this->wpbmodelが定義(or初期化)されてない?見たところデフォルトセッティングの取得らしいのでもしかしたら何もしなくても動くかも・・・ってなわけでちょっと乱暴ですが当該行をコメントアウト。
設定自体は次行の$this->writeWpSetting();にnull(=$result)を渡すことでなんとかならないかな?
//$result = $this->wpbmodel->setDefalutSetting();
ここを書き換えてアップロード&有効化。

じゃじゃ~ん!有効化はとりあえず成功。
さてそれではちょっくら試してみましょうかね~と思ったら、「Mixiへこの記事を投稿する」チェックボックスがどこにも見当たらない・・・ダメじゃん。orz.
てなわけで気を取り直して配布ページをじっくり見ると、こんなコメントが。
2 saimushi on 2006/09/14 18:15 said:
こんにちわ、はじめまして。
今回初めて導入しようとしているのですが、
Upgradeからしか、正しく導入できない可能性があったので
一応ご報告した方がよいのかと思い、投稿させて頂いています。ugradeからでしか、導入できないかも知れない理由:
・wp-mixipublisher.php 56行目でinitializeが実行される。
・initializeで$this->upgrade();が実行される。
・upgradeで$this->getWpSettingが実行される。
ココがボトルネックと思われます。親クラスのgetWpSetting(155行目)で$this->wpbmodel->setDefalutSetting()を前バージョンが無い場合に呼んでいる。
しかし、$this->wpbmodelはwp-mixipublisher.php 66行目で定義される。暫定解決のために取った対応
WpMixiPublisherController内の一番最後で
initializeを実行するようにした。
今のところこれで様子を見ています。以上、失礼ながら報告とさせて頂きます。
すばらしソフトウェアであることに、変わりはないので
これからも頑張って下さい。応援しています!
とっくに解析済みだし。 ![]()
てなわけでwp-babel-wpmp.phpを元に戻し、wp-mixipublisher.phpのWpMixiPublisherController(47行目~)を以下のように修正
/**
* WpMixiPublisherController のコンストラクタ。
*/
function WpMixiPublisherController() {
$plugin_name = 'wp-mixipublisher';
$plugin_panel_name = 'Wp-MixiPublisher';
$access_level = 8;
/* $this->initialize(
$plugin_name,
$plugin_panel_name,
$access_level);
初期化部分を最後の方に移動する。*/
$commonVO = new WPBabelSettingVO_01a_wpmp();
$commonVO->setParam(’name’, $plugin_name);
$commonVO->setParam(’version’, get_bloginfo(’version’));
$this->wpbview = & new WpMixiPublisherView($commonVO);
$this->wpbmodel = & new WpMixiPublisherModelFacard();
$this->initialize(
$plugin_name,
$plugin_panel_name,
$access_level);
}
これで再度アップロード&有効化。これでどうだ!
有効化はもちろん成功。でもって投稿画面だけど・・・今度もまた「Mixiへこの記事を投稿する」チェックボックスがないよ。orz.
ん~、こりゃちょっと気合入れて調べなきゃなんないかな。
てなところで次回へ続く・・・かも?
*
・・・と、諦めかけてこの記事公開したところで気がついた。――Mixiのメールアドレスとか必要な設定してないじゃん!
てなわけでもう一度管理画面へログイン。オプションタブを見ると・・・
![]()
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
単に設定できてなかったから無効になってただけだったんですね。なんつーか・・・orz.
早速ログインに必要な設定をごにょごにょ。
投稿画面に戻ったら

ちゃんとチェックボックス出てますね。ここまではなんとかうまくいったようです。
*
さて、それでは投稿投稿:
公開済みの記事を一つ選んで、「Mixiへこの記事を投稿する」チェックを付けて、保存っと。・・・ちょっと時間かかってるなあ。なんか仕事してるって感じ・・・オワタ。
どれどれMixiの日記は ――― 投稿できてないよ。orz.
あ~、これレンタルだからエラーログ見れないんだよなあ。とりあえず自宅サーバにWPいれて試してみるか。ふぅ。
というわけでこのネタ、まだまだ続く・・・かも?


Lovelog+* said,
12:01:35, 2007/05/09
WP-MixiPublisher*Mixiと連携投稿…
というわけで、再チャレンジです。
mt2mixiを工夫して使っていたのですが、Mixi側のセキュリティー強化で使えなくなってしまいました。
当サイトは、サイトの軽減化を (more…)
やおよろグッ! said,
22:49:18, 2007/05/17
Wp-MixiPublisherもインストール…
外部ブログを登録して以来、長らく放置しているmixiをちょっとさわってみよう、ということでインストールしてみました。ダウンロードしていつものように解凍→アップロードして (more…)
ありさわDS said,
23:53:38, 2007/07/04
WP-MixiPublisherでWordpressからMi…
すごい意外な友達に、最近ブログ書いてないのねー なんて言われたので、書いてみようかなと思ったりして。mixiにはよく書くんだけど。
くだらない話ばかりですが…
どうせな (more…)