ちょうど自作のWordpressに乗り換えてから丸二年たったこと、
また長く前のテンプレートを使ってたのと、
仕事でテンプレートの量産をすることになったので、
勉強がてら落ちてるテンプレを回収して とかやってました。
意外とめんどかった。。
今回手間取ったのが複数widget対応で
検索して出てくるブログがどれこれも間違ってるww
google先生もそのソースが動くかどうかまでは検索結果に反映してくれないようです。
で、その動かないソースは大抵こんなかんじで書いてあって、
if ( function_exists('register_sidebar') ) { register_sidebars(2); register_sidebar(array(1, 'before_widget' => '', 'after_widget' =>'', 'before_title' => '', 'after_title' => '', )); register_sidebar(array(2, 'before_widget' => '', 'after_widget' =>'', 'before_title' => '', 'after_title' => '', )); }
これじゃ動きません。
しかもこんな感じのソースが3つくらいブログにのってたなぁ。
コピペしただけで、使わずに満足でもしたんだろうか。。
で結局ソースを当たって、あとドキュメント読んだらこんなかんじでした。
http://codex.wordpress.org/WordPress_Widgets_Api/register_sidebars
まずfunction名が register_sidebars です。
で次に
register_sidebars(2);
これはいらない。
そして
register_sidebar(array(1,
これは関数名も違うし引数の順番も違います。
正しくは第一引数がwidget番号、第二引数がハッシュで表示するwidgetのテンプレート部分です。
実際はこうなります。
if ( function_exists('register_sidebars') ) { register_sidebars(1,array( 'before_widget' => '', 'after_widget' =>'', 'before_title' => '', 'after_title' => '', )); register_sidebars(2,array( 'before_widget' => '', 'after_widget' =>'', 'before_title' => '', 'after_title' => '', )); }
まあだけど
修正はめんどくさいけど、テンプレートはいいのがたくさん落ちてるし、
CMSはやっぱり楽でいいですね。