このブログを付け始めてからずっと WordPress を古いバージョンのまま使い続けてきましたが、ようやく最新版の 2.7 までアップグレードしました。
少し前からプライベートのメモ用には最近のバージョンを使用していたので、使う上では特にどうと言うことはありませんでした。
このブログでは、サーバー環境のバージョンのため 結構前のバージョンを使っていたので、バージョンアップがうまく行くかどうかが心配でした。
結果から言うと思ったよりはすんなりと出来ました。面倒だったのは、 EUC-JP から UTF-8 への変換くらいでしょうか。RSS 辺りの関係で、 EUC-JP でセットされているデータベース上に UTF のデータが混在しています。
データベースのデータを丸ごとバックアップしたものをリンク情報等を含めて手元のテキストエディタで編集したいのですが、Mac OS X でこのデータをうまく扱えるエディタはありません。(あるかも知れませんが、知りません。)
ここで、温存しているレガシー環境が活躍するのですが、クラシック環境(Mac OS 9)の YooEdit でバッチリです。以前にも助けられているのですが、このエディタのすごい所は、文字コードや改行コードが混在していてもそのまま開いて編集出来てしまう所でしょうか。例えば、CR, LF, CR+LF をそのまま変換されずに編集出来ます。
古ーいウェブアプリケーション、例えば、Perl で書かれた BBS の CGI 等で、テキストファイルをデータベース代わりに使っている物などで、フィールドのデリミタを TAB、レコードのデリミタを LF、フィールド内の改行コードが CR なんてのが結構あります。このデータを Mac OS X で良く使われている(私も愛用させて頂いております。)テキストエディタ、例えば、mi や CotEditor で開くと、全て同じ改行コードに統一されてしまいますので、ファイルが壊れてしまいます。
最近の Mac OS X 用のエディタでコレが出来る物をご存知の方がいらっしゃいましたら、是非、お教えください。
本当は、この YooEdit を OS X 用にリリースして頂けると本当に嬉しいのですが、以前伝え聞いた所では、
「ソースコードが全て失われてしまっているので出来ません」
との事でした。残念…。
最近うまく動かなくなってしまっていた Wp-MixiPublisher も自分用改造も含めてなんとかせねばと思っていましたが、既に良い物を作られている方がいらっしゃいました。
Wordpress に、Wp-MixiPublisher を導入。の記事で書いた様に、この WordPress を使った BLOG から mixi の日記に自動で投稿するプラグインを導入したのですが、10日足らずで使用出来なくなってしまいました。
ちょっと調べては見たのですが、しばらくまとまった時間が取れなかったので、放りっぱなしにしていました。
そろそろ良い解決法を見いだしている人がいるのではないかと、検索してみた所、こちらの記事を発見。
Wp-MixiPublisher 2007/10/01のmixiサイトデザインリニューアル対応版を勝手に作ってみた
私の所でも、少しカスタマイズしてあったので、該当箇所のみ変更してみましたが、なぜか投稿出来ずダメでした。
やっぱりこういう時は、初心に返れという事で、素直に変更済ファイルをダウンロードさせていただいて、一旦 Deactivate して、ファイルを取り替え、再 Activate。
これで、また投稿出来る様になりました。
その後、もう一度、独自カスタマイズを加えて出来上がりです。
この記事が無事投稿されていれば、カスタマイズも OK のはず。さて。
追記…
どうも、a タグの除去がうまく働いていない様子。うちの WordPress は、[link] に自動で、target 属性を追加する様にしてあるので、これの対策をしないとなりませんね。また調べないと…
mixi を使う様になったとき、今までのブログと日記を両方書くのは面倒なので、mixi の日記は使いませんでした。
その後、外部のブログとリンクする事が出来る事がわかりましたので、Wordpress から mixi へ RSS フィードを投げて一覧に表示する事で済ましてきました。
このたび、今更な感じもしますが、Wp-MixiPublisher を導入して、ブログの記事をそのまま mixi の日記にコピーする事にしました。
新版の RC2 の場合、一部手直しをしないとうまく動かないらしいので、先人の教えの通り function WpMixiPublisherController の initialize 位置を変更。私の場合、blog の文字コードが euc なので、こちらも変更して、アップロードしました。
アクティベートして、mixi のアカウントにログインする所までは、問題なく行きました。
ところが、何度テストをしてもブログ側の投稿が mixi の日記に反映されません。
検索をして調べてみましたが、同じ様にここでつまづいている人も多いようです。
ダメな時は最初からやり直した方が早いので、うまく行っている人の手順通り、RC1 を一度いれてアクティベートした後、RC2 へアップグレードしました。
やっぱりダメですね。仕方がないので、じっくりとソースを眺めてみる事にします。
最初の方、wp-blog-header.php を相対参照で指定しています。よく見てみると、plugins ディレクトリーの中のサブディレクトリーからの相対参照です。私は、サブディレクトリは作らず、そのまま plugins ディレクトリーにインストールしていました。
さっそく、plugins/wp-mixipublisher ディレクトリーに移動してテストしたところ、ちょっとレスポンスはよくないですが、投稿に成功しました。
本来なら、この Line:29 の
require('../../../wp-blog-header.php');
を
require(ABSPATH . 'wp-blog-header.php');
こうしておけば良いとおもうのですが、これだとダメでした。
また使ってみて、仕様上気になる所が有りましたので、カスタマイズをしました。
設定で Mixi への登録内容を、○無し ○概要 ○全文 から選択できるようになっているのですが、概要を選んだ場合、more タグ以前のみ投稿する様になっています。
これを Optional Excerpt (抜粋表示オプション) が記入してある場合は、こちらを優先させる様にしました。
function publishToMixi の Line: 125 あたり
}else if($settingVO->getParam('type') == 2) {
$content = explode('<!--more-->', $post->post_content, 2);
$content = apply_filters('the_content', $content[0]);
}
}else if($settingVO->getParam('type') == 2) {
if ($post->post_excerpt == null) {
$content = explode('<!--more-->', $post->post_content, 2);
$content = apply_filters('the_content', $content[0]);
} else {
$content = apply_filters(’the_content’, $post->post_excerpt);
}
}
この様になります。