Pica pica

We Love WordPress, We Love Firefox, We Love Opera, We Love…

Archive for 5 月 26th, 2007

5 月
26

Vox Crossposter plugin書き込みテスト2回目

Posted by せれ on 5 月 26, 2007

前回のVox Crosspostテストに見事に玉砕し、改善策もわからないまま放置気味だった「Vox Crossposter Plugin試用」 のエントリですが、このエントリにとんぷうさんからコメントをいただき、その情報を元にvox_crosspost.phpファイルをいろいろ弄ってたら無事にCrosspostできるようになりました。

今回の手順を検証するに当たっての前提条件

  • このサイトの文字コードはUTF-8、Vox.comに作ったサイトもUTF-8でした。
    (ソースを見てヘッダから確認)
    ご利用のサイトの文字コードがUTF-8以外の場合、各々適切な文字コードを指定する必要があると思います。
  • あと、今回のエントリで利用しているのは「WordPress plugin: Vox Crossposter」で公開されている、Version0.3のpluginファイルに対しての変更です。
    将来、Version Upした場合、上記書き換えを変更する箇所の行番号や記述内容が変わる可能性がありますのであらかじめご注意ください。

以下、このサイトの場合の改善方法をメモ

  1. Vox Crossposter pluginフォルダ内の vox_crosspost.phpファイルを開きます。
    念のため元ファイルはコピーして別名保存しておいたほうがいいかも。
  2. 42-45行目をそれぞれ以下の通りに書き換え。内容は文字コードの変換です。
    【変更前】
    42行目  $email_address = get_vox_email();
    43行目  $email_headers = create_email_headers();
    44行目  $email_subject = get_subject($post_id);
    45行目  $email_body = get_body($post_id);
    
    【変更後】
    42行目  $email_address = mb_convert_encoding(get_vox_email(), “UTF-8″);
    43行目  $email_headers = mb_convert_encoding(create_email_headers(), “UTF-8″);
    44行目  $email_subject = mb_convert_encoding(get_subject($post_id), “UTF-8″);
    45行目  $email_body = mb_convert_encoding(get_body($post_id), “UTF-8″);
  3. 71行目を以下の通りに書き換え。内容は文字コードの変更だと思います。(無知)
    【変更前】
    71行目  $email_headers .= ‘Content-type: text/html; charset=iso-8859-1′.”rn”;
    
    【変更後】
    71行目  $email_headers .= ‘Content-type: text/html; charset=UTF-8‘.”rn”;
  4. 変更したファイルをvox_crosspost.php名で保存。
  5. WordPressの管理画面>プラグインから「Vox Crossposter」を無効にした後、FTPで変更後のファイルをUploadします。
  6. 最後に、WordPress管理画面>プラグインから「Vox Crossposter」を有効にした後、moblog用メールアドレスの確認などを行って完了。(初期設定はこちらをご参照ください)

これでうまく行ったのですが、WordPress側もVox.com側も同じ文字コードの場合、手順2.は不要で手順3.のみでも良いのかも・・・(未検証のため自信なし)

とんぷうさん、有用な情報をありがとうございました。
あと、文字コードの変換についてはこちらを参考にさせていただきました。
PHPなんでチンプンカンプンな素人なものでこういう情報がないとまったくわかりませんでした。

余談ですが、Version0.3のプラグインだとCrosspost or Do not crosspostの設定が標準で「Crosspost」側になっています。

Vox Crossposter Plugin

このことをつい忘れてしまって、ちょっとした誤字脱字のための修正を行っていると保存ボタンを押した回数だけ、Vox.com側にエントリが作成されますので作成後の編集は注意が必要です。
標準で「Do not crosspost」にするオプションぐらいつけてほしいなぁ。(他力本願)