Twitter Tools

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

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

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

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

短縮URL

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

久しぶりに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側で対応してくれるといいな。

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;に変更したら反映できました。徐々に情報は出てくるだろうから、しばらくはチェックしていくつもりです。

追加情報

「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を使用してると,投稿画面でスクリプトエラーが出る。とりあえず解除したら,投稿画面の表示も色々追加されたよう。ということで,このプラグインを使用停止に。

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

タグ関連のプラグイン

あれからあまり弄ってなかったけれど、Simple Tagsってプラグインが便利そうなので導入しました。このプラグインでタグ管理など色々出来るので、Advanced Tag Entry をやめて記事投稿時の挿入に Recommended Tags for WordPress と Click Tags を入れて試したりしています。

ただ、Advanced Tag Entry でスラッグを全て記入したはずなのに気付いたら日本語タグのスラッグがエンコードされた文字に変わってた。気になるのでSimple Tags でこれらのタグのスラッグを再度編集。したはずなのに…。Recommended Tags for WordPress や Click Tags でタグ挿入するとどうも新規のタグを追加しているような感じで、既存のスラッグを設定したタグとエンコードされたタグとでダブってしまう。さらにSimple Tags で一番便利と思った記事タイトル一覧でのタグ編集でも、同じような現象に。

使用上は問題ないのだけど、せっかくスラッグを設定してスッキリしたアドレスにしているのに、エンコードされた長ったらしい訳のわからない文字列になるのはどうも解せない。結局、記事の投稿や編集時のタグ追加はAdvanced Tag Entry、タグの管理には Simple Tags 、記事タイトル一覧でのタグの編集は今のところ使わない、ということに。

Advanced Tag Entry で記事にタグを追加するときは問題なかったはずだけど、プラグイン側の仕様なのか。さっき見たらまた変になっていたのでスラッグを記入し直さなきゃ。

追記

2007年10月7日

なんか気付いたらタグめちゃくちゃだなぁ。明日きれいさっぱり、一からタグ付け直そうか。

2007年10月8日

4.1 日本語タグ名を使えるか?に書いてありました。やはり重複してしまうようです。

Advanced Tag Entry でタグを追加した場合は、スラッグを挿入しているようなので、タグが重複して追加されないのかな?

Wp-MixiPublisher リニューアル対応版

10月1日のmixiリニューアルの影響でWp-MixiPublisherが動かなくなっていたけれど、早速リニューアルに対応した改造版を公開しているところがありました。元のプラグイン作者の記事のコメント欄にも変更に対するパッチとしてとおりすがりさんが修正方法を記入してくれているけれど、上記の記事ではファイルとして公開してくれてます。

<p>ごとに空白行を入れる修正を加えて、先ほどテスト投稿したところ、ちゃんと反映されてました。

それに、aタグだったかな?の属性によってエラーが出る不具合も修正されてる?以前この修正を加えたはずの手元のファイルと見比べたけれど、どこを修正したのか全然記憶にないのではっきりしたこといえないけど、もし修正されているとしたら素敵。ただ、フッターとして登録した文章が先頭に表示された。ま、別に問題もなさそうだし、これで今までどおりブログとmixi日記の同時投稿が可能になりました。めでたしめでたし。

UltimateTagWarrior

結構多くのブログ等で見かけるようになったタグ付けに挑戦。記事にタグ(キーワード)を付けて、カテゴライズするって感じかな。自分としては標準であるカテゴリーだけで十分なんだけど、各記事の関連記事を表示をしたいがためにインストール。色々調べた感じで、このプラグインでのタグを利用したものが関連記事を表示するプラグインの中でベターなんじゃないかなって。

詳しく解説しているサイトがあるので、それ見て導入。日本語版はバージョンが古いらしいけど英語は嫌だから、試しにlanguageフォルダとヘルプだけ最新版に上書き。一応動いている感じ。ついでに既存記事のタグ付けにとReTag Post-Extension for UTW もインストール。

ちょちょいと設定を済ませて終わりなんだけど、UTWのオプションの設定画面が少し変。設定項目のタイトル部分で背景色と文字色が同じ色で、何書いてあるかわからないし、ReTagの方はPostとTagsの横幅が崩れてるのと、前のページをクリックしてもページが切り替わらない。

オプションの設定の文字が見えないのはたいした問題じゃないのでそのまま放置し、ReTagの方はファイルのCSSを記述している部分を自分好みに書き換えて対処。ただ、ページが切り替わらないのはさすがにお手上げ。

ページ切り替えが出来ず、ReTag Post-Extension for UTW がいまいち使えないので、The inline tag-adderとやらを使ってみることに。これは記事の編集画面に入らずにタグを追加できるもので、ヘルプにあったテーマへの記述例をそのままコピペ。実際にタグを追加してみると、追加されない。悩むこと長時間。

色んな文字を登録して試してたところ、英語はちゃんと登録されるけど日本語はダメっぽい。で、すでに登録済みの日本語タグがエンコードされているので、試しにエンコードされた文字列を追加してみると日本語にデコードされて表示。ここで調べること長時間。

どういういきさつでそうしたか忘れたけれど、ultimate-tag-warrior-ajax-js.phpの

http.open('get', '?action='action+'&tag='+tag+'&post='+post+'&format='+format);

と書かれているような部分にencodeURI()を書き加えてあげたら、出来た。

何がどういう処理をしているのかまったく理解していないけれど、意図した通りに動いているからいいや。

IImage-browser 日本語版

画像のアップロード・リサイズからディレクトリの作成までこなす万能選手なので便利です。

っていうプラグイン。今のところ頻繁に画像をアップするつもりはないけど、便利そうなのでインストール。

最初はLightbox用のコードをと思っていたけれど、WPJ-Highslideを使うことにしたのでデフォルト版を使用。でも、記事の投稿画面や編集画面にクイックタグが追加されるはずなんだけど、何故か新規投稿画面に追加されず。for Lightboxではちゃんと追加されるので、iimage-browser-plugin.php を見比べて見ると、defaultとfor Lightboxとで少し違うみたい。試しにfor Lightbox のファイルと差し替えてみたところ、クイックタグも追加されるし、ちゃんと動きそうな感じなのでとりあえずこれでいいかな。

default版はカスタムコードを設定できるようなので、wp-admin/iimage-browser.php の71,72行目をコメントアウト、exampleの68,69行目の先頭にある//を削除。さらに [dec]$ib_custom_code_thumb[/dec]の方を、

[dec]%title[/dec]

として、Highslide JS 用のタグを書き出すよう書き換え。

これでWPJ-Highslide用の属性の追加などもだいぶ楽になったと思う。