Twitter Tools

Twitter はじめました。まずは環境を整えるところから。ということで、mixi ボイスとの連携をし、Sleipnir にプラグインを入れて、あとはWordPress との連携。いつもの様にグーグル先生で検索です。

欲しかった機能は、ブログのサイドバーかページにタイムラインを表示。つぶやきを記事にする機能はいらない。Twitter はTwitter、ブログの記事はブログの記事。そこは割り切る。あとはブログ更新時にツイートとか出来れば良い。で、選んだのが Twitter Tools 。つぶやきを記事にする機能などは、日ごと、週ごとにまとめて記事に出来るっぽいけれど、自分はOFFってます。

インストール後の登録がちょっと面倒だけれど、まずは思い通りの機能を追加できたので良し。

で、この記事の投稿が、Twitter に反映されれば完璧なわけです。ということで、テスト。どんな感じでしょうか?

短縮URL

bit.ly なる短縮URLを使うには、bit.ly に登録し、同梱の別のプラグインを有効化しなければならないらしい。

サーバ引越し

またXREA内での引越しなのだけど、今回はWordPress標準のエクスポート・インポート機能でデータを移動させてみました。余分なデータまでごっそり入れ替えるよりはシンプルになるかなと思っていたのだけど、どんなもんでしょう?

で、この機能を使っての引越しだと、タグのスラグが設定されなかったり、プラグインやテーマの設定も引き継がれなかったりするのですね。案外再設定するの面倒。

テーマもちょっくら入れ替えて、とりあえずは使える状態になったかと思います。念のためphpMyAdminからデータベースのバックアップもとっておいたけれど、問題無さそうです。やっぱりテーマは元のに戻しました。新たに採用しようとしたテーマは、WP-PageNavi のコードをどこに挿入すればいいのかわからなかった。デフォルトで対応しているこれが楽だわ。

久しぶりにWordPress

久しぶりにWordPressいじってみた。

テーマ

なかなか良さ気なものがないので、人気ありそうなテーマからiNoveを選択。なぜか既存のテーマって文字が小さいものばかりで嫌。本当は無地にテキストベース。サイドバーやメタ情報に何気なくアイコンて感じのが理想だけど、フォントスタイルとかメニュー幅とかデフォルト状態でそこそこ見栄えがしたのが採用の理由。フォントサイズはその内大きくしようと思うけれど、多くの要素をpxでフォントサイズ指定してあるので、面倒そうだ。

プラグイン

使っていないものを削除、整理。「gaban » 「WP2.5に入れるプラグイン10選」に参加してみる」からそんなに変更はないけれど、タグ関連はSimple Tagsに一本化。

wp-amazon

wp-tmkm-amazon の作者さんがブログ閉めるらしいので、新たなAmazon関連のプラグイン探していたら、amazonアソシエイトを始めてみる-wordpress plugin編- – atl*weblogのコメント欄にをかもとさんがプラグインを紹介。画像に対してテキストが回り込むようだったので、img要素の「align=”left”」を全て削除して使ってみました。

で、これらに関連してリンク先等も読んでみた結果、自分的にもプラグイン専用のコード貼り付けるよりHTMLを出力してくれる方がどうも色々と便利そう。

Commented entry list

自分でテーマをカスタマイズしなくなって、このプラグインが事実上適用されていない状態だったけれど、Commented entry list Pluginをウィジェット化してみる | Koichi Labs Blogという記事を発見。

これ使えばウィジェットに対応しているテーマならば、わざわざテンプレート変更する必要がないです。とりあえず使ってみて問題はなさそうかな?

何やらWP2.8も出そうな勢いだし、IE8にしたら投稿画面がバグで投稿しづらくなるし。wp-amazonのHTMLもFirefoxだとカーソル位置に挿入されるっぽいのにIE8だと先頭に挿入されるし(画像の挿入も多分同じ)。WordPress使いはIE使うなってことかも知れないけれど、次バージョンではWP側で対応してくれるといいな。

WordPressの引越し

XREAのデータベースが壊れて?サーバーを引越しした際のメモ。同じXREAのs270からs325への引越しです。

WordPress 管理画面からのエクスポート

てっとり早く済ませようと、まずは管理画面からエクスポートを試した。でもなぜか途中までの記事しか保存されず。てことで断念。

phpMyAdmin からエクスポート

辛うじてphpMyAdminにはアクセスできたので、ここからデータベースをエクスポートすることに。設定は確か画像の通り。

phpMyAdmin

一気に全てのテーブルを保存しようとしたらどうも上手く全てのデータが保存されてなかったので、実際はひとつひとつエクスポートしました。更に圧縮なしでも上手くいかないことがあったので、gzipで圧縮して保存したりも。ちゃんと保存されたデータをチェックしたわけではないけれど(チェックの仕方もわからないが…)、何となく良さそうだったのでOKということで。

新サーバーでインポート

VALUE DOMAIN から新しいサーバー借りて、有料サービスの利用権を移動して、XREAのコントロールパネルからマイドメインの設定やらデータベースの作成とかして、と、この辺は割愛。色々反映されるまで小一時間ほど作業。FTP繋がるようになったらファイルをUPでWordPressのインストールして、新しいサーバーのphpMyAdminから保存したファイルをインポートしたら見事記事も設定も引越しに成功。

旧サーバーと新サーバーでMySQLのバージョンなど若干仕様は違ったけれど、XREAからXREAへの引越しだったのでトラブルなくできたのかも。定期的にバックアップしておけば、もっと短時間で作業できそう。

Wp-MixiPublisher 動かない

昨夜投稿したらmixiに反映されないので何だろうと思っていたけれど、どうやらmixi側で変更があった模様。変更当日ということで、検索しても情報は出てこなかったけれど、今朝何気なく検索したら発見。他にも情報あるかもしれないけれど、とりあえずはこの通りに。自分は確か「Wp-MixiPublisherをVer.2.6で動作させる(2008年8月版) – DEPOLOG2 / デポログ」のを使用しているはずです。

[php] function isEnabledMixiDiary() {
if(!$this->loggedin) {
if(WP_MIXIPUBLISHER_DEBUGMODE == 1){
$ftmp = fopen(WP_MIXIPUBLISHER_DEBUGPATH.”dump.dat”, “ab”);
fwrite($ftmp, “isEnabledMixiDiaryn”);
fwrite($ftmp, “false 1n”);
fclose($ftmp);
}
return false;
}
$content = $this->fetch(‘edit_account.pl’);

if(WP_MIXIPUBLISHER_DEBUGMODE == 1){
$ftmp = fopen(WP_MIXIPUBLISHER_DEBUGPATH.”isEnableMixiDiary.html”, “ab”);
fwrite($ftmp, $content);
fclose($ftmp);
}

if(strpos($content, ‘

の部分の最後のreturn false;return true;に変更したら反映できました。徐々に情報は出てくるだろうから、しばらくはチェックしていくつもりです。

追加情報

XREAのデータベースが…

使用しているXREAのs270サーバーでデータベースが何だか不調。昨日帰宅して色々書こうとしたけれど、繋がったり繋がらなかったり。WordPressで何かエラーになっているのかと調べてみたものの、わかるわけもなく。

面倒だけど、上手くいくか不安だったけれど、別サーバー借りてそっちに移動することにした。

エラー出まくりの中、何度も操作し何とかphpMyAdminからバックアップとって、VALUE DOMAINからXREAの別サーバー借りて有料の権利を移動。phpMyAdminからバックアップしたデータをインポート。何とか動くまでに復旧した。ついでに負荷率高かったので、画像のコンテンツはしばらく(ずっと?)削除。少し設定とかも見直してみようかな。

作業内容忘れてしまいそうなので、また後でメモる予定だけど、新たなサーバーでは快適に動きそうな雰囲気なので、きっとXREA側の問題だろうか?もしそうだとしたら、先日1年分の料金振り込んだばかりなのに、しっかりしておくれよ。

「WP2.5に入れるプラグイン10選」に参加してみる

「WordPress2.5でつくる!最強のブログサイト」出版記念企画
もし今、WordPressのプラグインフォルダに10個のプラグインしか追加できないとしたら、最低限何を入れますか? プラグイン名とその理由を簡単に述べてください。(標準装備のAkismetとwp-multibyte-patchは除外します)
[TB] WP2.5に入れるプラグイン10選 – MMRT daily life

とりあえずやってみました。WPに移行した当初はプラグイン探しも色々していたけれど、最近はマッタリとしています。他の人が使ってるものを参考にして、導入しているプラグインの見直しなどやってみようかな。他にも何個か導入してます。何となく他の参加者と毛色が違うような気がするけど…。閲覧者というより、自分用なプラグインが多いと思います。

ちなみに、既にWP2.6へバージョンアップ済みです。

AddQuicktag
投稿画面にQuicktagを追加してくれるやつ。
Advanced Tag Entry
投稿時にタグ挿入するときに使ってます。そういえば、WPのタグスラッグ問題ってどうなったのかしら?
Commented entry list
Nucleus時代に使っていたプラグインの表示に近かったので導入。
Flexible upload
IImage Browserを使ってたけど、WP2.5にバージョンアップしたとき一緒に入れ替え。Highslideに対応していたのが入れ替えの理由。
Simple Tags
タグ管理とか。関連記事の表示もこれで。
Wp-MixiPublisher
mixi日記に投稿してくれるやつ。
WP-PageNavi
ベージ番号でのナビゲーションを表示してくれるやつ。
wp-tegaki
[tegaki]これ最高。[/tegaki]
wp-tmkm-amazon
amazonの商品表示に。
WPJ-Highslide
lightbox風なやつ。動作が軽いのと、画像のどの部分をクリックしても閉じてくれるのがいい。

自作(大半はコピー)していたテーマも今は既存のものを少しだけ書き換えて使ってるし、導入しているプラグインも最近はほとんど変化なしな状況です。どうしても以前使っていたNucleusとの比較になってしまうけれど、利用者が多いからそこそこ情報は得やすい反面、散乱しまとまっていないから情報を整理するのが大変です。さらにPHPを知らない(覚える気もない)自分にとってWordPressは、テーマひとつとっても、難しいイメージ。

なので、フォーラムやCodex 日本語版の存在、こういった企画はとっても参考になります。といっても、昔みたいに色々弄ってみる気はないのですけどね。

面倒なカスタマイズ

WordPressをのんびりと更新続けてます。色々不具合もあって、苦労している部分も。

テーマ

色々弄るのが面倒になってきたので、ブログデザインについては既存のテーマをちょっと弄る程度にとどめておこうかと思います。テーマは次期標準テーマ候補と言われているSandboxを採用し、スキンはShades of Grayにしてみた。Sandboxの方は、サイドバーのみ変更した段階。Shades of Grayは文字が小さかったので、font-size を100%に変更。最終的には、自分のわかりやすいように、CSSを書き換えたいけれど、とりあえずは今のままで良いかと思ってます。

タグ関連

Advanced Tag Entry がちゃんと動いてくれず、タグスラッグが重複するバグのせいで、記事投稿時にタグを挿入することができなかったのだけど、Yuriko.Net » WordPress で日本語タグ重複問題解決パッチ案 のとおりパッチを適用してみたら問題なくタグ付けできるようになりました。

[php]if ( ” === $term = sanitize_title($term) )
return 0;
$where = $wpdb->prepare( “t.slug = %s”, $term );[/php]

という部分を

[php]if ( ” === $sanitized = sanitize_title($term) )
return 0;
if ( $taxonomy = ‘post_tag’ ) {
$where = $wpdb->prepare( “(t.slug = %s OR t.name = %s)”, $sanitized , $term );
} else {
$where = $wpdb->prepare( “t.slug = %s”, $sanitized );
}[/php]

と書き換えるだけ。

でも、コアファイルの書き換えだとバージョンアップする際に面倒。本体側で早く対応してくれないかな。

Wp-MixiPublisher

WordPress 2.5 になって動かなくなった Wp-MixiPublisher ですが、すぐにパッチを公開してくれた方が。Wp-MixiPublisher 2007/12/18 変更対応版の wp-mixipublisherRC2c.php を以下のように書き換えです。

[php] function executePublishToMixi($postId, $isModify=false) {
if(in_array($postId, $this->_publishedId)) {
return $postId;
}
$settingVO = $this->getWpSetting();
if(!$settingVO->getParam(‘user_id’)) {
return $postId;
}

$post = get_post($postId);

// 公開しない場合は終了
if($post->post_status != ‘publish’) {
return $postId;
}

// 1.0.0 RC2: XML-RPCリクエストの場合ディフォルト設定を優先する
if(defined(‘XMLRPC_REQUEST’) && XMLRPC_REQUEST) {
// ディフォルト設定が有効でなければ終了
if($settingVO->getParam(‘default’) != 1) {
return $postId;
}
// すでにある投稿で、Mixiに投稿していなければ終了
if(!$postObj->mixi_diary_id && $isModify) {
return $postId;
}
}else{
if($_POST[‘publish_mixi’] != 1) {
return $postId;
}
}

// 1.0.0 RC2: リクエストに利用するクッキーを既存のものからではなく、新しく作成する
$user = wp_get_current_user();
$cookies = USER_COOKIE.’=’.urlencode($user->user_login).’; ‘;
$cookies.= PASS_COOKIE.’=’.md5($user->user_pass);

$relative_path = preg_replace(‘/^’.preg_quote(ABSPATH, ‘/’).’/’, ‘/’, __FILE__);

$ping_url = get_settings(‘siteurl’) . $relative_path;
$parts = parse_url($ping_url);
$argyle = @ fsockopen(
$parts[‘host’],
$_SERVER[‘SERVER_PORT’],
$errno,
$errstr,
0.01);

if ($argyle) {
fputs($argyle, “GET {$parts[‘path’]}?” .
“post_id=” . $postId .
” HTTP/1.0rnHost: {$parts[‘host’]}rnCookie: {$cookies}rnrn”);
}
$this->_publishedId[] = $postId;
return $postId;
}

function saveHandler($postId) {
return $this->executePublishToMixi($postId, true);
}

function publishHandler($postId) {
return $this->executePublishToMixi($postId);[/php]

という部分を、

[php] function executePublishToMixi($postId, $isModify=false) {
if(in_array($postId, $this->_publishedId)) {
return false; //falseを返すように修正
}
$settingVO = $this->getWpSetting();
if(!$settingVO->getParam(‘user_id’)) {
return false; //falseを返すように修正
}
$post = get_post($postId);
// 公開しない場合は終了
if($post->post_status != ‘publish’) {
return false; //falseを返すように修正
}
// 1.0.0 RC2: XML-RPCリクエストの場合ディフォルト設定を優先する
if(defined(‘XMLRPC_REQUEST’) && XMLRPC_REQUEST) {
// ディフォルト設定が有効でなければ終了
if($settingVO->getParam(‘default’) != 1) {
return false; //falseを返すように修正
}
// すでにある投稿で、Mixiに投稿していなければ終了
if(!$post->mixi_diary_id && $isModify) {
return false; //falseを返すように修正
}
}else{
if($_POST[‘publish_mixi’] != 1) {
return false; //falseを返すように修正
}
}
// 1.0.0 RC2: リクエストに利用するクッキーを既存のものからではなく、新しく作成する
$user = wp_get_current_user();
$cookies = USER_COOKIE.’=’.urlencode($user->user_login).’; ‘;
$cookies.= PASS_COOKIE.’=’.md5($user->user_pass);
$relative_path = preg_replace(‘/^’.preg_quote(ABSPATH, ‘/’).’/’, ‘/’, __FILE__);
$ping_url = get_settings(‘siteurl’) . $relative_path;
$parts = parse_url($ping_url);
$argyle = @ fsockopen(
$parts[‘host’],
$_SERVER[‘SERVER_PORT’],
$errno,
$errstr,
0.01);
if ($argyle) {
fputs($argyle, “GET {$parts[‘path’]}?” .
“post_id=” . $postId .
” HTTP/1.0rnHost: {$parts[‘host’]}rnCookie: {$cookies}rnrn”);
}
$this->_publishedId[] = $postId;
return $postId;
}
function saveHandler($postId) {
if ($postId = $this->executePublishToMixi($postId, true)) //$postIDが戻された時だけmixi記事を更新
$this->publishToMixi($postId);
}
function publishHandler($postId) {
if ($postId = $this->executePublishToMixi($postId)) //$postIDが戻された時だけmixiに記事を投稿
$this->publishToMixi($postId);
}[/php]

元々の作者が4月くらいからプラグインの更新もするようなことをブログに書いていて期待しているのだけど、表面上動いている様子は未だなし。個人的には画像へのリンクも含めたaタグの除去をなんとかして欲しいけれど。

WordPress 2.5.1

そうこうしているうちに、2.5.1がリリースされた。

丸ごと上書きでとりあえずバージョンアップ。

そんなこんなで、まだまだのんびり更新継続予定。

のんびりと更新

WordPressが2.5にバージョンアップした模様。本家版に続き日本語版もリリースされたので,早速更新。手順は,プラグイン全OFFして全ファイル上書きUPで完了。

で,それなりに変更箇所があったりして,動かないプラグインもチラホラあるそうで。自分のところでは,アクセス解析に使っていたWp-SlimStat-Ex日本語版がエラーで使用できなかった。Simple Tagsもダメらしいと,どこかで,いろんなところでそんな記事を見たような見なかったような気がするけれど,自分はあまりこのプラグイン駆使してないないので。と,思ったら既にバージョンアップしてる?ファイル名が「simple-tags.1.5.zip」になってるけど…。ダウンロードしてみたもののよく分からないのでインストールは保留中。

管理画面の雰囲気がガラっと変わり,色々と良さ気な機能も追加されてたりするので,他の人の記事を読みつつ,のんびりと更新する予定。プラグインの入れ替えも含め,そろそろテーマも書き換えようかな。いい加減,オレンジ色飽きてきた。目に良い配色じゃないし。

追記

mixiのコミュにもチラッと書いてる人いたけど,Wp-MixiPublisherがどうもダメらしい。mixiに記事が反映されない。

それと,Advanced Tag Entryもタグを追加してくれない。わーどぷれすっ! » WP 2.5 のタグ付け機能のバグでは使えると書いてあったけど,他のところに問題あるのかな?タグ重複のバグ(仕様?)も解決していないようだし。とりあえずタグ無しで投稿して,Inline Tag Thingで後付けしました。Inline Tag Thingは動くようです。

なんか,他にも色々不具合ありそうだけど,まあのんびりと。

さらに追記

自分の環境だけかもしれないけれど,Advanced Tag Entryを使用してると,投稿画面でスクリプトエラーが出る。とりあえず解除したら,投稿画面の表示も色々追加されたよう。ということで,このプラグインを使用停止に。

そもそも,画像追加するボタンが無いなぁとずっと探してたんだよね。コレが原因だったみたい。

トラックバックできない件

いつからか判らないけれど、トラックバック出来ないことが判明。たしか再出発した時のテストではちゃんと相手のブログに反映されていたはずだけど、この前とあるブログに送ったらいつまで経っても表示されない。拒否されてるのかもと思い、試しにたまたまアカウント持っていたFc2の放置ブログにテスト送信してみたけれどダメ。Smart Update Pinger というプラグインも使ってみたけれど送れない。自分の過去記事にトラックバックした場合は大丈夫だし、プラグインのログからは一応pingは送信できてるみたいだけど、なぜ相手ブログに反映されないのか、原因がさっぱり。

ぐーぐるさんにも色々尋ねてみたけれど、これといった答えは見つけられず。普段からちょくちょくトラックバックしてればどの段階からできなくなったのかある程度特定も出来るのだろうけど、滅多にトラックバックしないからわからない。さあ、困った。