Sidebar Widgetsを利用可能にするカスタマイズ
Sidebar Widgets導入方法は、Sidebar Widgets wordpress pluginを参照。
以下はSidebar Widgetsに対応していないテーマでSidebar Widgetsを使いたい時の方法。基本的に自己責任でおねがいします。
テーマをSidebar Widgetsに対応させる方法
もっとも簡単で無理矢理な方法はWordPress Widgetsからダウンロードしたwidgetsフォルダのclassicフォルダからsidebar.php functions.phpを、非対応テーマフォルダに上書きする。wordpressに標準で入っているテーマclassicに含まれるサイドバーで問題ない場合はこの方法が楽。しかしテーマにもともとfunctions.phpがある場合はこの方法はやめたほうがよい。基本的にはお勧めしません。(おそらくwordpress標準テーマをWidgets化するためのファイルです。)上書きする際はバックアップを忘れずに。
非対応テーマのサイドバーをいかしたままWidgetsに対応させる
参考程度に。Sidebar WidgetsREADME.txtを参照のこと。
それぞれのテーマのsidebar.phpの一番初めの<ul>の次の行に以下のコードを加える。
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar() ) : else : ?>さらに最も最後の<ul>の直前に
<?php endif; ?>を加える。
さらにfunctions.phpが無い場合は作り、ある場合はそこに
<?php
if ( function_exists('register_sidebars') )
register_sidebar();
?>
このコードを付け加える。これでSidebar Widgetsに対応するはず。
widgets/classicフォルダのsidebar.php functions.phpを参考に位置確認をすることをお勧めします。
サイドバーが複数ある場合の対応方法。
基本的には非対応テーマのサイドバーを生かしたままWidgetsに対応させるの方法と同じ。異なるのはsidebar.phpに加えるコードのdynamic_sidebar()の()の中に数字を入れる点。
サイドバーが2つの時。それぞれのsidebar.phpに以下を加える。
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(1) ) : else : ?>
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(2) ) : else : ?>
<?php endif; ?>を入れ忘れないように。
さらにfunctions.phpのregister_sidebar();にサイドバーの数と同じ数字を入れる。
<?php
if ( function_exists('register_sidebars') )
register_sidebars(2);
?>
このようにすればサイドバーが複数あるテーマにもSidebar Widgetsを対応させることが出来るはず。サイドバーがさらに多い場合も入れる値の数字を大きくしていけば対応できるのではと想像。
Tags: plugin, theme, widgets, wordpress
関連記事
とらっくばっく:http://wordpress.rin9.net/wp/use-sidebar-widgets/trackback/

