Descargo de responsabilidad: soy completamente nuevo en WP.
Estoy usando el tema del marco HTML5 de Starkers . En el functions.phpveo este código:
function starkers_widgets_init() {
// Area 1, located at the top of the sidebar.
register_sidebar( array(
'name' => __( 'Primary Widget Area', 'starkers' ),
'id' => 'primary-widget-area',
'description' => __( 'The primary widget area', 'starkers' ),
'before_widget' => '<li>',
'after_widget' => '</li>',
'before_title' => '<h3>',
'after_title' => '</h3>',
) );
// Area 3, located in the footer. Empty by default.
register_sidebar( array(
'name' => __( 'First Footer Widget Area', 'starkers' ),
'id' => 'first-footer-widget-area',
'description' => __( 'The first footer widget area', 'starkers' ),
'before_widget' => '<li>',
'after_widget' => '</li>',
'before_title' => '<h3>',
'after_title' => '</h3>',
) );
// ... more calls to register_sidebar() ...
}
Y en footer.phpveo este código:
<?php get_sidebar( 'footer' ); ?>
No entiendo cómo get_sidebar()sabe cómo tomar ese argumento de cadena y encontrar los widgets apropiados que fueron definidos por register_sidebar(). En el fragmento functions.php que publiqué anteriormente. No hay ninguna mención de "pie" a excepción de los name, idy descriptionpropiedades. Pero me parecería extraño que get_sidebar()buscara 'pie de página' dentro de esas propiedades.
¿Tiene sentido lo que estoy preguntando? ¿Hay alguna pieza faltante?
Las razones por las que pregunto es porque, me gustaría saber más sobre la arquitectura WP, me gustaría poder definir un área de widget personalizada y saber cómo representarla en una página específica.
Gracias una tonelada.
fuente

sidebar-footer.phprequiere condicionalmentedynamic_sidebar()todas las áreas de widgets apropiadas.get_sidebar('name')obtiene una plantilla de barra lateral del nombresidebar-name.php.Dentro de sidebar-name.php, está el HTML para la barra lateral y una llamada a
dynamic_sidebar('some-name-hopefully-the-same'), que es donde irán los widgets.register_sidebar(array(name=>'some-name-hopefully-the-same', ...))es lo que permite que dynamic_sidebar funcione.Como puede ver,
get_sidebar(templatename)es para usar con plantillas de barra lateral. Si no los necesita, puede llamardynamic_sidebar(sidebarname)directamente desde su tema.fuente
get_sidebar('footer')intenta cargarsidebar-footer.phpdesde el tema activo. Starkers proporciona este archivo. Verifiquestarkers/sidebar-footer.phpy las cosas deberían aclararse.fuente