« Geeklog快適! | メイン

WP e-commerce 備忘録

WordPressにショッピングカートを実装するプラグインに「WP e-commerce」というのがある。しかも、現行のバージョン(3.7.1)では日本語化もされている。ただし、不完全な日本語ではあるが。

それはともかく、他のプラグイン同様にアップロード→有効化して、動作を確認していたら次のようなエラーが。

Warning: unserialize() expects parameter 1 to be string, object given in xxxxxxx/wp-content/plugins/wp-e-commerce/wp-shopping-cart.php on line 288

ファイルを開けてみたら288行目は次のようになっていた。

$GLOBALS['wpsc_cart'] = unserialize($_SESSION['wpsc_cart']);

きっと同じエラーに悩んだ人がいるだろうと思い探した(英語圏も含む)が、見つからず。で、しょうがないので自分なりに解決。どうもシリアル化されていないオブジェクトをアンシリアライズしようとしてエラーに陥るときがあるみたいですね。次のように書き換えました。

if(is_string($_SESSION['wpsc_cart'])){
$GLOBALS['wpsc_cart'] = unserialize($_SESSION['wpsc_cart']);
} else {
$GLOBALS['wpsc_cart'] = $_SESSION['wpsc_cart'];
}

同じエラーに苦しむ人の参考になれば幸いです。

トラックバック

このエントリーのトラックバックURL:
http://senrenja.s266.xrea.com/mt/mt-tb.cgi/38

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2009年08月09日 09:25に投稿されたエントリーのページです。

ひとつ前の投稿は「Geeklog快適!」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.34