Witam,
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 id="
<?php echo $position ?>">
<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 "
),
array( "s_id" => "header", "s_name" => "HEADER ",
"s_description" => "Nagłowek strony (logo, tekst powitalny, etc.) - pozycja "
)
);
foreach ($sidebars as $sidebar) {
array( "p_id" => "_left", "p_name" => "LEFT",
"p_description" => "LEWA"
),
array( "p_id" => "_center", "p_name" => "CENTER",
"p_description" => "ŚRODKOWA"
),
array( "p_id" => "_right", "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?