http://uemura.kir.jp/spispo.php?itemid=2409
Nucleus で記事を新規投稿したときに、特定のカテゴリだった場合は自動的に Twitter へポストしてくれるプラグインです。
注意点その1
UTF-8用なので、EUC環境で使いたい場合は文字コードを変更して保存してからプラグインファイルをアップロードする必要があります。そうしない場合、とりあえず管理画面が文字化けするのですぐわかると思います。
注意点その2
UTF-8用なので、EUC環境で使うと Twitter 上で文字化けします。ました。フォーラムのこの記事を参考にソース変更して対応しました。
注意点その3
管理画面のカテゴリが空白だともちろん動作しませんので、全カテゴリを対象としたい時は全て記載する必要があります。nucleus_category テーブルを開いて、カテゴリだけ抜き出したりしたら、設定も少しは楽できるかと思います。
注意点その4
記事タイトル、記事本文、記事URLをポストしてくれるのですが、URL直前までの文字数によっては文字化けしてしまいます。個人的には記事タイトル、記事本文は不要かな、と思ったので下記の改造をしました。
NP_TwitterLt 119行目あたり $curl = mb_strlen($url); //2010/04/11_takehana_add_s $content = '更新通知:'.$bloginfo['name']; //2010/04/11_takehana_add_e $ccontent =mb_strlen($content);
更新通知:→C↓C←C↑C http://www.takehana.tv/cccc/?itemid=2448
といった感じにポストされます。
2010/04/18追記
未来時間への投稿でもポストしてしまう問題があったので、下記の修正を行いました。
if(array_search($itemnow['catid'],$catids) === FALSE){ //なにもしない }else{ if($itemnow['draft']==0){ //2010/04/18 takehana_add1 if($itemnow['iposted']==1){ //Twitterに投稿する $this->PostItemToTwitter($itemidnow,$this->getOption('username'),$this->getOption('password')); //2010/04/18 takehana_add1 } } }
ただし、未来時間に到達したとしてもポストされるわけではないです。なぜなら、このプラグインは PostAddItem イベントの時にしか動作しないからです。つまりこのプラグインは、ドラフト投稿や予約投稿をしない、という前提で使うのであれば有用だと思います。
こういう問題があるユーザの場合、少しタイムラグはあるかもしれませんが、RSSからTwitterへ自動ポストするような仕組みを採用した方が安全な気がします。
コメント