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 http://www.php.net/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 } ?>
function my_register_sidebars() { $sidebars = http://www.php.net/array ( http://www.php.net/array( "s_id" => "top", "s_name" => "TOP ", "s_description" => "Małe dodatki na górze strony - pozycja " ), http://www.php.net/array( "s_id" => "header", "s_name" => "HEADER ", "s_description" => "Nagłowek strony (logo, tekst powitalny, etc.) - pozycja " ) ); foreach ($sidebars as $sidebar) { $positions = http://www.php.net/array ( http://www.php.net/array( "p_id" => "_left", "p_name" => "LEFT", "p_description" => "LEWA" ), http://www.php.net/array( "p_id" => "_center", "p_name" => "CENTER", "p_description" => "ŚRODKOWA" ), http://www.php.net/array( "p_id" => "_right", "p_name" => "RIGHT", "p_description" => "PRAWA" ) ); foreach ($positions as $position) { register_sidebar ( http://www.php.net/array( '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>' ) ); } } }
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)