zastanawiam się czy wydajnym rozwiązaniem będzie generowanie htmla w pętli w szablonie dla WORDPRESSA w zależności od tego czy dany widget/sidebar jest używany
$positions = array("top", "header", "navigation", "showcase", "feature", "maintop", "mainbottom", "bottom", "footer", "copyright"); foreach ($positions as $position) { if ( (is_active_sidebar(''.$position.'_left')) or (is_active_sidebar(''.$position.'_center')) or (is_active_sidebar(''.$position.'_right')) ) : ?> <div class="container-fluid section-wrapper"> <div class="row"> <?php if ( (is_active_sidebar(''.$position.'_left')) and (is_active_sidebar(''.$position.'_right')) ) : ?> <div class="col-md-3 col-sm-12 col-xs-12 top-left"><?php dynamic_sidebar( ''.$position.'_left' ); ?></div> <div class="col-md-6 col-sm-12 col-xs-12 top-center"><?php dynamic_sidebar( ''.$position.'_center' ); ?></div> <div class="col-md-3 col-sm-12 col-xs-12 top-right"><?php dynamic_sidebar( ''.$position.'_right' ); ?></div> <?php endif;?> </div> </div> </div> <?php endif;?> <?php } ?>
oraz czy w ogóle można pomyśleć o dynamicznym rejestrowaniu sidebarów:
function my_register_sidebars() { "s_name" => "TOP ", "s_description" => "Małe dodatki na górze strony - pozycja " ), "s_name" => "HEADER ", "s_description" => "Nagłowek strony (logo, tekst powitalny, etc.) - pozycja " ) ); foreach ($sidebars as $sidebar) { "p_name" => "LEFT", "p_description" => "LEWA" ), "p_name" => "CENTER", "p_description" => "ŚRODKOWA" ), "p_name" => "RIGHT", "p_description" => "PRAWA" ) ); foreach ($positions as $position) { register_sidebar ( 'id' => $sidebar['s_id'].$position['p_id'], 'name' => __( $sidebar['s_name'].$position['p_name'] ), 'description' => __( $sidebar['s_description'].$position['p_description'] ), 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>' ) ); } } }
O ile dla htmla nie powinno to być za bardzo obciązające to generowanie co wywołanie strony tych sidebarów myślę że może być zabójcze dla serwera.
Co myślicie?