ウィジェット内からサイドバーのパラメータを動的に取得することは可能ですか?つまり、収容サイドバーのbefore_widget
/after_widget
/before_title
/after_title
/name
パラメータにアクセスしようとしています。
サイドバーが次のように登録されているとします。
register_sidebar( array(
'name' => "Homepage Sidebar",
'id' => 'homepage-sidebar',
'before_widget' => '<div id="%1$s" class="widget-container %2$s">',
'after_widget' => '</div>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
) );
ウィジェットのwidget()
関数内からこれらの値にどのようにアクセスするのですか?どのように私はこのような何かをするでしょう:
public function widget( $args, $instance ) {
// outputs the content of the widget
if ($someCondition)
echo $sidebar->before_title . 'My widget title' . $sidebar->before_title;
echo 'You are looking at ' . $sidebar->name;
}
これは可能ですか?
パラメータはwidget
メソッドに渡される最初の引数として(配列として)与えられます。 2番目の引数$instance
は、ウィジェットの特定のインスタンスのオプションを保持しています。
私のいつもの設定は次のとおりです。
function widget($args, $instance){
//Extract the widget-sidebar parameters from array
extract($args, EXTR_SKIP);
echo $before_widget;
echo $before_title;
//Display title as stored in this instance of the widget
echo esc_html($instance['title']);
echo $after_title;
//Widget content
echo $after_widget;
}