Capitolo 5: sidebar.php

programmare temi wordpress

La sidebar viene richiamata tramite la funzione get_sidebar(); che ricerca il file sidebar.php, nel caso di più sidebar creare un file sidebar-nomeAlternativo.php e richiamarla tramite la funzione get_sidebar(‘nome-alternativo’);

Un esempio di file sidebar.php:

<?php
if( ! is_active_sidebar( 'main-sidebar' ) ) {
  return;
}
?>

<aside id="secondary" class="widget-area" role="complementary">

  <?php dynamic_sidebar( 'main-sidebar' ); ?>

</aside>

Per convertire le sidebar in aree widget bisogna registrarle con register_sidebar(); ed è possibile controllare se sono attivate con la funzione is_active_sidebar();

Nel file function.php bisogna creare una funzione per la registrazione del widget con un hook che richiama widgets_init

function wphierarchy_widgets_init() {
  register_sidebar([
    'name'          => esc_html__( 'Main Sidebar', 'text-domain' ),
    'id'            => 'main-sidebar',
    'description'   => esc_html__( 'Add widgets for main sidebar here', 'mstc-theme' ),
    'before_widget' => '<section class="widget">',
    'after_widget'  => '</section>',
    'before_title'  => '<h1 class="widget-title">',
    'after_title'   => '</h1>',
  ]);  
}
add_action( 'widgets_init', 'wphierarchy_widgets_init' );

Nel file siderbar.php bisogna controllare che il widget sia attivo e utilizzare dynamic_sidebar( ‘nomeSidebar’ ); per la visualizzazione

<?php
if( ! is_active_sidebar( 'nome-sidebar' ) ) {
  return;
}
?>

<aside id="secondary" class="widget-area" role="complementary">

  <?php dynamic_sidebar( 'nome-sidebar' ); ?>

</aside>

Aggiungere il widget tramite il pannello di wordpress in Aspetto -> Widget -> nome-sidebar

SCRIVI UN COMMENTO