複数のデフォルトウィジェット(異なるインスタンス)を同時に複数のサイドバーに追加する方法を他の誰かが知る必要がある場合、次のコードはページと管理ウィジェットタブの両方にウィジェットを追加します。これは私以外の誰にとっても明白だったかもしれないことを私は理解しています。
したがって、janwとkcssmのハードワークに基づいて:
function add_theme_widgets($old_theme, $WP_theme = null) {
$activate = array(
'right-sidebar' => array(
'recent-posts-1',
'categories-1',
'archives-1'
),
'footer-sidebar' => array(
'recent-posts-2',
'categories-2',
'archives-2'
)
);
/* the default titles will appear */
update_option('widget_recent-posts', array(
1 => array('title' => ''),
2 => array('title' => '')));
update_option('widget_categories', array(
1 => array('title' => ''),
2 => array('title' => '')));
update_option('widget_archives', array(
1 => array('title' => ''),
2 => array('title' => '')));
update_option('sidebars_widgets', $activate);
}
add_action('after_switch_theme', 'add_theme_widgets', 10, 2);
ただし、これにより他の設定が削除されるため、慎重に踏み込んでください。