Home > Tags > WordPress

WordPress

WordPress Twitter Widgetを導入してみる

Velvet Unravelled » Twitter WordPress Sidebar Widget

さくっとサイドバーに導入。

WP-PageNavi を導入

WP-PageNavi 2.50 Readme

これで、下のリンクが次と前だけではなく、ページでとべるようになった。

とりあえず、テーマの footer.php につっこんでおく。見た目が悪いのは後で調整しよう。

日記がリアルタイムに戻った

ここ1月程なんだかんだで溜っていた日記を、ようやく一通り出し終える。

これでやっと普通に書ける。

ついでに、セキュリティ修正の入った WordPressをバージョンアップ。

紀元前のWordPress(2)

ただひたすらに調べまくる。先日の調査は生温かったので、今度はきっちし追求。

WordPress, PHP , PHPのライブラリ、MySQL、DBの内容…全部しらべた結果、PHP の date(), gmdate() で ‘Y’ (4ケタ年号)を使った場合に問題となることが発覚。

PHPのBTSを見てみたところ、あった.PHP Bugs: #48276: date(‘Y’) returns 0000がそうらしい。

PHP 5.3.0RC2と、PHP 5.2.10あたりのバージョンで、アーキテクチャが PPC だと発現するようだ。そして今の環境は、PowerPC の Mac mini に、Leopard 付属の PHP 5.2.10。うん、あっている。

解決方法としては、こんなところかな。上のものほど根本的な解決。

  1. Apple がなおしてくれるのを待つ。
  2. PHP を独自ビルドにして、Apache が参照するモジュールを入れ替える。
  3. WordPress を適当にパッチをあてて動かす。

まず、Appleがなおしてくれるのは内容的に期待できない。脅威度が低かったりマイナーだったりするとセキュリティ上の問題でも延期するし。OSX Server ならばともかくクライアントだしね。

次のPHP独自ビルドは、できれば避けたい選択肢。きちんとmakeするのは正直しんどい。前にやった時は謎のドツボにはまって、画像がアップロードできないなんて状態になっていた。

というわけで、まずはお手軽に、それっぽい関数にパッチをあてて試してみる。案の定 wp-include/functions.php に current_time() なんてものがあったので、試しに改変。

return ( $gmt ) ? ereg_replace('0000', "20" . gmdate('y'), gmdate( 'Y-m-d H:i:s' )) : gmdate( 'Y-m-d H:i:s', ( time() + ( -9 * 3600 ) ) );

うーん、きいていないなあ。調べてみると各所で date(), gmdate() 使いまくりで全然使用されていない。ダメですな。

というわけで、gmdate() を使っている関数を列挙してみると…フムン。ふふ…いいさ…やってやるさorz

  • import/blogger.php
  • import/blogware.php
  • import/rss.php
  • includes/dashboard.php
  • includes/template.php
  • includes/upgrade.php
  • options-general.php
  • wp-admin/admin-ajax.php
  • wp-admin/gears-manifest.php
  • wp-admin/import/blogger.php
  • wp-admin/import/blogware.php
  • wp-admin/import/rss.php
  • wp-admin/includes/dashboard.php
  • wp-admin/includes/template.php
  • wp-admin/includes/upgrade.php
  • wp-admin/load-scripts.php
  • wp-admin/load-styles.php
  • wp-app.php
  • wp-content/plugins/ktai_style/tags.php
  • wp-content/plugins/post-gallery/thirdparty/phpthumb/phpThumb.php
  • wp-content/plugins/post-revisions/post-revisions.php
  • wp-content/plugins/wassup/lib/action.php
  • wp-content/plugins/wassup/lib/main.php
  • wp-content/plugins/wassup/lib/settings.php
  • wp-content/plugins/wassup/wassup.php
  • wp-content/plugins/wp-amazon/wp-amazon-plugin.php
  • wp-content/plugins/wp-cache/wp-cache-phase2.php
  • wp-content/themes/wp.vicuna.ext/functions.php
  • wp-includes/class-simplepie.php
  • wp-includes/classes.php
  • wp-includes/formatting.php
  • wp-includes/functions.php
  • wp-includes/general-template.php
  • wp-includes/js/tinymce/plugins/spellchecker/rpc.php
  • wp-includes/js/tinymce/tiny_mce_config.php
  • wp-includes/js/tinymce/wp-tinymce.php
  • wp-includes/link-template.php
  • wp-includes/post.php
  • wp-includes/registration.php
  • wp-links-opml.php
  • wp-mail.php
  • xmlrpc.php

一応野良ビルドのほうも試してみる。phpinfo() から適当にオプションをひっこぬいて…と。

./configure  '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-dependency-tracking' '--with-apxs2=/usr/sbin/apxs' '--with-ldap=/usr' '--with-kerberos=/usr' '--enable-cli' '--with-zlib-dir=/usr' '--enable-trans-sid' '--with-libxml' '--enable-exif' '--enable-ftp' '--enable-mbstring' '--enable-mbregex' '--enable-dbx' '--enable-sockets' '--with-iodbc=/usr' '--with-curl=/usr' '--with-config-file-path=/etc' '--sysconfdir=/private/etc' '--with-mysql-sock=/tmp/mysql' '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--with-mysql=/usr/local/mysql' '--with-openssl' '--with-xmlrpc' '--with-xsl=/usr' '--without-pear'

…面倒。やはり駄目か。

紀元前のWordPress(1)

日記を書こうとしてふと気がついたのだが、数日前の日記から年号がおかしくなっている。具体的には、2009の部分が全部0000となってしまっている。

なんだこれは、と調べてみると、WordPressの管理画面でも同じく0000年を吐いていることが発覚。OSX のバージョンアップのせいか、それとも WordPress のバージョンアップのせいか、あるいは DB が壊れたか他が腐ったのか…とりあえず調べてみる。

まずは MySQL で日付が正常に返るか、SELECT 文を発行して確認してみる。特に問題はなし。

次に、PHP でよく使われている mysqli ライブラリで、同じように日付を取得してみる。問題なし。mysql ライブラリは…まあ多分似たようなものだろう(←暫定調査なので適当)

と、なるとデータベースか WordPress あたりがあやしいのか。

とりあえず今日はここまでにして、明日以降に WordPress を新規で入れてみてデータがどうなるかを確認して、それから DB を探ってみるとしよう。やれやら。

Amazon の Product Advertising API に対応してみた

amsearch

WordPress で利用していた Amazon Reloaded の代わりを作成するべく調査。適当にRubyでライブラリを漁ってみると、Yoosee さんのAmazon Product Advertising API を Ruby から使うがひっかかったので読んでみる。これならば今回の目的に合いそうだ。

することは単純

  1. Amazonの検索フォーム
  2. 検索結果を中サイズの画像と、アフィリエイトリンクで出す
  3. リンクからSEO用の書名部分を削る
  4. できたものを、コピー&貼り付けしやすいように textarea 要素で表示する

70行程で目的のものが完成。ほとんどの部分は、ベタでHTMLを埋めこんだ(今回は自家用かつ小規模なのでこれで充分)行数。

うむ、これならば使えそうだ。

Amazon の Product Advertising API に挑戦してみた

8/15から、Amazon の検索結果を外部から使うAPIが、サービスの秘密鍵を取らないと利用できなくなる。

仕方がないので、まずは Amazon のアフィリエイトのページから、API のキーを取得しようとしてみる。うぇ、これは米国 Amazon で取得だからアカウントが別なのか。別ページに日本語で逐次解説が用意されていなかったら、投げだしていたな。そんなこんなで Access Key ID と Secret Access Key を取得。

WordPress で現在利用しているのはAmazon Reloaded for WordPress。しかし、これは最新のAPI変更に対応していない。仕方がないので他に適当に数個試してみるも、使い勝手が良いものがなかなか無いし、そもそもAPIに対応していないものばかり。

wp-amazon (Amazonリンク生成)も試してみたけれども、何故か検索結果が出ない。

またか、また作るしかないのか。そりゃ、やろうと思えばできるけどねえ。面倒な。

しばらくはテキストのみでAmazonのページで一々リンク生成するしかないか。と思って試してみたら、1×1 のウェブバグ画像が漏れなくついてくる罠。なんだこの行儀の悪いものは。誰か私に素直に画像とリンクを張りつけさせてくれ。

謎の幅

職場で Firefox を 3.5 にして見ていたら、何故か写真を横に重ねた部分が溢れていることに気がついた。よくよく見ても特に妙な空白などはない。しかし、Internet Explorer で見てみても同じ…さては Firefox 特化になってしまっていたか。

家に帰って調査。Safari でも確かに同様のレンダリングとなる。謎の幅が出てしまっていて、横幅が安定していない。

結局、スタイルシートを調整して逃げた。そもそもタイトル部分のせいで制限になっている固定幅をいい加減に解除すべきなのだろう。いい写真はないものか。

WowdPress 2.8 リリース

WordPress 2.8 がリリースされていたので、手元のものを入れ替える。tarのアーカイブで上書きするだけなので楽なものだ。言語はどちらでも良かったのだが、なんとなく日本語版を利用。

Amazon Product Advertising API は2009/8/15までに要移行

Amazon Product Advertising API を Ruby から使う – World Wide Walker

Amazon の「Amazon アソシエイト Web サービス」が、署名認証を含んだ「Amazon Product Advertising API」に変更されるという話。2009/8/15以降は署名認証の無いリクエストが拒否されてしまうらしい。

フムン、それで最近 WordPress から Amazon Reloaded for WordPress で Amazon のリンクを作ろうとするとたまに妙な感じになるのか。どうにかして対応版に移行しないとな。

認証関係だけいじればいいならなんとかなるかもしれないし、余裕ができたら見てみるか。

WordPress をキャッシュつきのまま iPhone/iPod touch 対応させる

p2ex を iPod touch で見てみると、きちんと対応しており、メニュー画面からして対応したものになってくれる。内容も、きちんとタップで引用箇所が見えたり、外部を別ウィンドウで開いたりで、なかなかに見やすくてGOOD。

勢いで、WordPress の方も Ktai Style (携帯対応プラグイン)WPtouchを入れて、モバイル対応にする。Ktai Styleは意図的にiPhone非対応なため、iPhone/iPod touch 用にわざわざ別に入れている。

実際に閲覧してみると、WP-Cache が効いてしまい PC 用の画面のままでうまく見えなかったので、Ktai Style のサイトにあるものを参考に、wp-content/wp-cache-config.php を編集し、$cache_rejected_uri の前にキャッシュ無視判定を入れる。なお、WordPress の管理画面から WP-Cache の設定を変更すると消えてしまうので要注意。


$ua = $_SERVER['HTTP_USER_AGENT'];
if(preg_match('/(iPod|iPhone)/', $ua)) {
        $cache_enabled = false;
        $super_cache_enabled = false;
}

なお、User-Agent の判定は、iPhone/iPod touch のUAが以下になっているとの情報(複数の情報より)から適当にマッチさせている。

Mozilla/5.0 (iPhone; U; CPU like Mac OS X; ja-jp) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A110a Safari/419.3
Mozilla/5.0 (iPod; U; CPU like Mac OS X; ja-jp) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3

Flickr の制限にひっかかった

無料アカウントでは表示するのが最近200枚までとの事なので、それ以上なら消すかプロアカウント($2/month)を買えということらしい。

Flickr を利用してきた理由は主に3つ。

  1. iPhoto から一括リサイズ/アップロードできる
  2. コメントをつけて alt や title に反映できる
  3. 画像だけサーバを分散することによるボトルネックと転送量の解消

まあ、どれもそんなにたいした理由ではないので、今迄のはそのままにして、今後は WordPress 本体の機能に戻してもいいかな。

と思って iPhoto 用の WordPress Upload Plugin を探してみたのだが、意外に無い。Photonは動かなかった。

妥協するとこんな感じかな。

  • export は自前でやる。リサイズも iPhoto で。
  • アップロードのみ自動化。
  • 貼り付けは今迄通り頑張る。

投稿プロトコルとして、RFC5023 に対応した AtomPub と、MT 等との互換性のある XML-RPC wp が使えるようだ。

…自作するしかないのか?

今回は全部手動でやったが、何故かウェブ上から表示画像がリサイズできなくて困る。しかもこれ、リサイズできたとしても表示画像の幅を変えているだけだから無駄なんだよねえ。はやくなんとかしないと。

Amazon + WordPress を考えてみる

どうも今一 iframe のカコミで出るのは嫌な感じなので、他にもいくつかプラグインを試してみる。

HWPS! » WordPress: Amazon ISBN Anchor Plugin

まずは、ISBNかASINを入れると画像と書名になってくれるのを試してみる。しかし、何故かうまく情報を引っ張ってきてくれないので断念。

WordPress › Amazon Reloaded for WordPress « WordPress Plugins

もう一つ試してみたこちらは、リンク+画像を貼り付けてくれるタイプ。Amazonへのリンクが最近流行の書名そのままな奴なので、あまりに長くなりすぎるのが欠点だが、使い勝手は悪くない。しばらくこれで書いてみるつもり。

Adblock の罠

Amazon からアフィリエイト通過のメールがきてもなお、WordPress のプラグインで検索できず、iframe を直接張りつけてみても見えない。

あげくの果てにはプラグインが悪いのかとAmazonLinkにしてみたのだが、駄目。

しかし、そこでふと Safari で見てみると…見える。もしかして iframe のせい?

というわけで、Adblock の Blacklist(既製品を使っている) を久しぶりに見てみる。Bingo!

見事にアフィリエイトのホストがブロックされてました。それは見えないわけだ。

そういうわけで、無事物欲が反映しやすくなりました。

そして今日ハンズに寄って適当に買ってきた文房具を入れようとしたら、Amazonには無い罠。

  • [MISC] ゼブラ サラサ3
  • [MISC] Apica ノート CD10YN A6 5号 105x148mm 52枚
  • [MISC] KOKUYO メモ帳 メ-C353 WEARABLE MEMO A7 Size 105mmx74mm 40 sheet

何かがおかしい

リンクの最後に妙な空白が目立つと思ったら、どうやらプラグインのどれかが悪さをしているらしい。

さて、どれだ…これは一つ一つ有効にしてキャッシュを無効にしながら見ていくしかないのか…?

(2008/11/6追記)
Trustworthy XHTML でした。代わりを探さなければ。

Home > Tags > WordPress

Return to page top

12