Wordpress のテーマで ウィジェット(widget ) を使えるよう改造
このブログのテーマは自分で作ったものなので、当然ながら Wordpress のウィジェット(widget)には対応してません。
そこで何かと便利そうなウィジェット(widget )に対応するため試行錯誤してみました。
今回参考にさせて頂いたのは以下の2サイト様。
functions.php がなかったので新規に作成し、以下のコードを記述。
<?php
if ( function_exists('register_sidebar') ) {
register_sidebars(2);
register_sidebar(array(1,
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' =>'</li>',
'before_title' => '<h3>',
'after_title' => '</h3>',
));
register_sidebar(array(2,
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' =>'</li>',
'before_title' => '<h3>',
'after_title' => '</h3>',
));
}
>
参考にしたサイトでは sidebar.php を sidebar1.php と sidebar2.php にされていたが、sidebar.php に含ませることに。
<div id="sidebar">
<div id="sidebar1">
<ul>
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(1) ) : ?>
</ul>
<?php endif; ?>
</ul>
</div>
<div id="sidebar2">
<ul>
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(2) ) : ?>
<?php endif; ?>
</ul>
</div>
<!-- END menu list -->
</div>
ウィジェットはメニュのタイトルを h2 で返しているので、これを h3 になるよう上記のように設定したが、ソースを見ても h3 にならず。
しょうがないので、 wp-includes/widgets.php を直接変更。
function register_sidebar($args = array()) {
global $wp_registered_sidebars;
if ( is_string($args) )
parse_str($args, $args);
$i = count($wp_registered_sidebars) + 1;
$defaults = array(
'name' => sprintf(__('Sidebar %d'), $i ),
'id' => "sidebar-$i",
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => "</li>\n",
'before_title' => '<h2 class="widgettitle">',
'after_title' => "</h2>\n",
);
// class="widgettitle" の h2 を h3 へ変更 //
function register_sidebar($args = array()) {
global $wp_registered_sidebars;
if ( is_string($args) )
parse_str($args, $args);
$i = count($wp_registered_sidebars) + 1;
$defaults = array(
'name' => sprintf(__('Sidebar %d'), $i ),
'id' => "sidebar-$i",
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => "</li>\n",
'before_title' => '<h3 class="widgettitle">',
'after_title' => "</h3>\n",
);
これでウィジェット対応のテーマになり、widgettitle もh3 になりました。
今回は widgettitle の h3 化にかなり時間をとられてしまったが、
まぁ~なんとか出来たのでよしとしよう。
Sponsored Link




wordpress ウィジェット 対応にしてみる
…