Hallo,
ich habe hier mal ein bisschen quer gelesen, um in einem Twentyfourteen-Childtheme seitenabhängig verschiedene Sidebars aufzurufen. Die entsprechenden Templates sind kopiert und werden in der functions.php wie folgt eingebunden:
**
* Register three Twenty Fourteen widget areas.
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function twentyfourteen_widgets_init() {
require get_template_directory() . '/inc/widgets.php';
register_widget( 'Twenty_Fourteen_Ephemera_Widget' );
register_sidebar( array(
'name' => __( 'Primary Sidebar', 'twentyfourteen' ),
'id' => 'sidebar-1',
'description' => __( 'Main sidebar that appears on the left.', 'twentyfourteen' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>',
) );
register_sidebar( array(
'name' => __( 'Content Sidebar', 'twentyfourteen' ),
'id' => 'sidebar-2',
'description' => __( 'Additional sidebar that appears on the right.', 'twentyfourteen' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>',
) );
register_sidebar( array(
'name' => __( 'Footer Widget Area', 'twentyfourteen' ),
'id' => 'sidebar-3',
'description' => __( 'Appears in the footer section of the site.', 'twentyfourteen' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>',
) );
register_sidebar( array(
'name' => __( 'Schule', 'twentyfourteen' ),
'id' => 'sidebar-4',
'description' => __( 'Additional sidebar that appears on the right.', 'twentyfourteen' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>',
) );register_sidebar( array(
'name' => __( 'OGS', 'twentyfourteen' ),
'id' => 'sidebar-5',
'description' => __( 'Additional sidebar that appears on the right.', 'twentyfourteen' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>',
) );register_sidebar( array(
'name' => __( 'Eltern', 'twentyfourteen' ),
'id' => 'sidebar-6',
'description' => __( 'Additional sidebar that appears on the right.', 'twentyfourteen' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>',
) );register_sidebar( array(
'name' => __( 'Partner', 'twentyfourteen' ),
'id' => 'sidebar-7',
'description' => __( 'Additional sidebar that appears on the right.', 'twentyfourteen' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>',
) );
}
add_action( 'widgets_init', 'twentyfourteen_widgets_init' );
Alles anzeigen
Grundsätzlich läuft das auch, wie gewünscht. Nur wie bringe ich meinem Child-Theme bei, die zusätzlichen Sidebars in der eigenen functions.php zu betreiben, dass bei Updates des Haupt-Themes die Sidebars nicht verschwinden?
Ich habe da gerade einen Knoten im Kopf, wie rufe ich eine Child-functions.php auf? - Welche Codesegmente muss ich kopieren? Immerhin habe ich verstanden, dass nicht zwei function.php mit gleichen Aufrufen vorhanden sein dürfen, oder doch?
Kann mir da Jemand auf die Sprünge helfen? :-)