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:
1 2 3 4 5 6 7 8 9 10 11 |
<?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
1 2 3 4 5 6 7 8 9 10 11 12 |
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
1 2 3 4 5 6 7 8 9 10 11 |
<?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