2009年10月2日金曜日

Wordpressに投稿して、Wassrのステータスをついでに更新する(プラグインの)プ ラグイン

自分のところのブログは、Yahoo!のブログ検索とかに出てこないなあと思っていたら、ヨソでこういう記事を見つけた。
 

WordPress から Yahoo! ブログ検索に Ping を送信するプラグインの改造方法:トイレのうず/ぼやき
 

WordPress は工夫しないとYahoo!に弾かれるらしいということや、更新のたびにPing送信という迷惑じみた仕様ということは全く知らなかったなあ。なるほど。
 
 

さて、引用。
手動で Ping を送るのは面倒。ということで、既存のプラグインをちょこっと改造することで、自動化することに成功しました。

 

おぉこれは・・・
ブログ更新のついでに適当なAPIをひっぱたいてこれるということか。
ちょっと探したが、WordPress更新で twitter のタイムライン更新はあるが、Wassr のはみつからなかったのでYahoo!対策のついでに実装してみた。
 
 

自分用「Smart Update Pinger Wassr」の出来上がり、一応配布なんぞを


php に触れたことはほぼ無い(そもそもプログラムしない)が、元ネタさんが丁寧な改変をされていたのでとても作りやすかった。
ログの吐き方とかアヤシイが、まあそんなに困らないだろうが見栄えが変なのでそのうち直そう。。
適当に確認用の行消したらきれいになったっぽい。>ログ出力

 
 

せっかくなので置いておこう、使うような物好きがいるかもだが、できればマトモなphp書きにクオリティ・セキュリティ面を突っ込んでほしい所。
 

(1) まず、元ネタ トイレのうず さんWordPress から Yahoo! ブログ検索に Ping を送信するプラグインの改造方法を実施しましょう。
Yahoo!関連が不要ならそれはスキップでOKだが、Ultimate Plugins Smart Update Pinger はどうしても必要。
 

(2) Wassr用追加モジュールを落として、ultimate-plugins-smart-update-pinger.php たちと同じディレクトリに設置します。
Smart Update Pinger Wassr
 

(3) 大元のプラグイン、ultimate-plugins-smart-update-pinger.php を編集して、処理を呼んでもらいます。
また引用ですが、
・107行目と117行目の2ヶ所の
$SUP_output_log=SUP_ping_services($forcedpings,get_permalink($id)).$SUP_output_log;
の後ろに下記を追加。

こちらを実施されたなら、そのさらに後ろに2行づつ追加します。しなかったら同じところで。
[sourcecode language='php']
require_once('smart-update-pinger_wsr.php');
$SUP_output_log = send_ping_wsr("http://api.wassr.jp/statuses/update.json", $row["post_title"], get_permalink($id)).$SUP_output_log;
[/sourcecode]
 

(4) smart-update-pinger_wsr.php にWassr用のユーザ名とパスワードを記述します。
19行目と20行目かな
[sourcecode language='php']
$URL['user'] = "username";
$URL['pass'] = "password";
[/sourcecode]
 

(5) 後は丸ごとアップロードして、管理画面でUltimate Plugins Smart Update Pinger を有効にすればOK。
WordPressに記事投稿をするたび『ブログ更新Ping:記事タイトル(URL)』 という感じでWassrのステータス更新が入るはず。
 
 
 

ということで公開と同時に最後のテスト、こけませんように(-人-)
(実は3度目)
 
 



追記:ログがめっさ汚いなぁ。。また今度直そう。
追記:治ったっぽい