Pierwszy projekt strony pod WordPressem jaki buduję od podstaw, czyli z własnym szablonem tworzę na bazie "czystego szablonu" Underscores. Domyślnie szablon ten zawiera tylko jedno pole dla widgetów w prawym sidebarze, utworzone za pomocą funkcji 'register_sidebar'. Mój projekt przewiduje cztery pola w sekcji 'footer'. Po utworzeniu szablonu, który nazwałem 'vitadent' dostałem plik z podstawowymi funkcjami: function.php. Aby dodać inne pola dla widgetów należy otworzyć ten plik i dopisać kilka linijek kodu.
Przykład implementacji register_sidebar
[cc lang="php"]
function vitadent_widgets_init() {
register_sidebar( array(
'name' => esc_html__( 'Sidebar', 'vitadent' ),
'id' => 'sidebar‑1',
'description' => esc_html__( 'Add widgets here.', 'vitadent' ),
'before_widget' => '
',
'before_title' => '
',
'after_title' => '
',
) );
[/cc]
Aby dodać kolejny widget trzeba dodać kolejną funkcję 'register_sidebar' zmieniając wartości pól 'id' i 'name'.
[cc lang="php"]
register_sidebar( array(
'name' => esc_html__( 'Sidebar', 'vitadent' ),
'id' => 'sidebar‑1',
'description' => esc_html__( 'Add widgets here.', 'vitadent' ),
'before_widget' => '
',
'before_title' => '
',
'after_title' => '
',
) );
register_sidebar( array(
'name' => 'Footer Sidebar 1',
'id' => 'footer-sidebar‑1',
'description' => 'Appears in the footer area',
'before_widget' => '
',
'before_title' => '
',
'after_title' => '
',
) );
[/cc]
Dodatkowo może ustalić w jakich typach nagłówka ma się pojawić nazwa widgetu (before_title i after_title), jakie ma mieć przypisane klasy i jakim znacznikiem ma być otoczony cały kod (before_widget i after_widget). Ilość widgetów nie jest ograniczona.