내 사용자가 사용할 수있는 위젯 영역의 수를 설정할 수있게하려고합니다. 숫자를 입력 할 수있는 옵션 패널을 설정 한 다음 for 루프를 사용하여 위젯 영역 수를 등록하는 위젯 등록 함수를 설정합니다. 위젯 관리 영역으로 돌아갈 때마다 위젯 영역은 내가 무엇을 넣었는지 상관없이 모두 비어 있다는 것을 제외하고는 작동합니다. 내가 처음 두 개의 위젯 영역 중 하나 (홈 또는 홈페이지)에 위젯을 넣어 경우, 난 그냥 눈치WordPress의 위젯 영역을 동적으로 등록하십시오.
function fivepints_widgets_init() {
register_sidebar(array(
'name' => __('Main Sidebar', 'fivepints'),
'id' => 'sidebar-1',
'before_widget' => '<div class="widget">',
'after_widget' => "</div>",
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
));
register_sidebar(array(
'name' => __('Home Sidebar', 'fivepints'),
'id' => 'sidebar-2',
'before_widget' => '<div class="widget">',
'after_widget' => "</div>",
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
));
$fp_theme_options = get_option('fp_theme_options'); //get number from options panel
if ($fp_theme_options['fp_sidebars'] == ""){$num = 1;} //set number to 1 if options panel value isn't set
else {$num = $fp_theme_options['fp_sidebars']; }
for ($i=1; $i<=$num; $i++)
{
$sidebarName = 'Sidebar ' . $i;
$sidebarID = 'fp-sidebar-' . $i;
register_sidebar(array(
'name' => __($sidebarName, 'fivepints'),
'id' => $sidebarID,
'before_widget' => '<div class="widget">',
'after_widget' => "</div>",
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
));
}
}
add_action('widgets_init', 'fivepints_widgets_init');