= 4)?$count_wid = 4:NULL; $class_originals=array('
', 'container_widgets_pieces', 'widget_corner widget_top_left', 'widget_token_left', 'widget_topbottom widget_top_center', 'widget_corner widget_top_right', 'widget_token_right', 'widget_sides widget_middle_left', 'widget_center widget_content', 'widget_sides widget_middle_right', 'widget_corner widget_bottom_left', 'widget_topbottom widget_bottom_center', 'widget_corner widget_bottom_right', 'widget_token_bottom' ); $new_classes=array('
', 'container_widgets_pieces '.$reset_boxes, 'widget_corner widget_top_left '.$reset_boxes, 'widget_token_left '.$reset_boxes, 'widget_topbottom widget_top_center '.$reset_boxes, 'widget_corner widget_top_right '.$reset_boxes, 'widget_token_right '.$reset_boxes, 'widget_sides widget_middle_left '.$reset_boxes, 'widget_center widget_content '.$reset_boxes, 'widget_sides widget_middle_right '.$reset_boxes, 'widget_corner widget_bottom_left '.$reset_boxes, 'widget_topbottom widget_bottom_center '.$reset_boxes, 'widget_corner widget_bottom_right '.$reset_boxes, 'widget_token_bottom '.$reset_boxes ); ob_start(); dynamic_sidebar($position); $sidebar_contents = ob_get_clean(); echo str_replace($class_originals,$new_classes,$sidebar_contents); } /** * [BillyDroid_get_pages get all pages for the systme of layout in this case id 0 corresnpond to blog & single] */ function BillyDroid_get_pages (){ global $wpdb; $wts_find = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_name LIKE '%-wts'", 0); $wts_page = implode(',',$wts_find); $blog_layout[] = (object) array( 'ID' => 0, 'post_title' => 'blog and single'); $wtsp = array( 'exclude' => $wts_page ); $pages = get_pages(); return array_merge( $blog_layout, $pages ); } function update_layout(){ $layout_pack=array(); //get all curent pages to sidebar $get_pages = BillyDroid_get_pages(); //get the position assign sidebar $sidebar_info = get_theme_mod( 'BillyDroid_sidebar' ); $style_default = 'boxcss_default'; foreach( $get_pages as $index => $page ) { // asign slider for the single post, search, archive & category if ($page->ID===0) { $layout_pack[ $page->ID ][ 'slider_blog' ] = true; $layout_pack[ $page->ID ][ 'slider_single' ] = true; $layout_pack[ $page->ID ][ 'slider_search' ] = false; $layout_pack[ $page->ID ][ 'slider_archive' ] = false; $layout_pack[ $page->ID ][ 'slider_category' ] = false; $layout_pack[ 'themeshock_default_widget_boxes' ] = true; } else { /// asign slider only into pages $layout_pack[ $page->ID ][ 'slider_page' ] = true; } //asign widget style for widgets into footer sidebar $layout_pack[ $page->ID ][ 'footer_widget_style' ] = $style_default; //Determine styles and position for per page foreach( $sidebar_info as $position_widgets=> $description ) { //define layout by default right_1 is open $layout_pack[ $page->ID ][ $position_widgets ][ 'active' ] = ( $position_widgets === 'right_1' )?true:false; $layout_pack[ $page->ID ][ $position_widgets ][ 'style' ] = $style_default; } } set_theme_mod( 'BillyDroid_layout_options', $layout_pack );//regitrar layout en los didebar return $layout_pack;//carga todas las posiciones de los layouts; } /** * [update_sidebar update courrent cposiition sidebars] * @return [array] [info about the position of sidebars] */ function update_sidebar(){ /* register settings the sidebars */ $sidebars=array(); $sidebar_positions = BillyDroid_sidebar_schemes(); $sidebar_args = BillyDroid_get_template_sidebar(); foreach( $sidebar_positions as $position_widgets ){ $sidebars[ $position_widgets ] = $sidebar_args; $sidebars[ $position_widgets ][ 'name' ] = $position_widgets; } //save sibebar positions set_theme_mod( 'BillyDroid_sidebar', $sidebars ); return $sidebars; } function layout_update(){ $pages = BillyDroid_get_pages(); $layout_info = get_theme_mod ( 'BillyDroid_layout_options' ); $style_default = 'boxcss_default'; foreach ( $pages as $page){ if ( !isset( $layout_info[ $page->ID ] ) ){ //asign widget style for widgets into footer sidebar $layout_info[ $page->ID ][ 'slider_page' ] = true; //asign widget style for widgets into footer sidebar $layout_info[ $page->ID ][ 'footer_widget_style' ] = $style_default; //Determine styles and position for this page if not exists foreach( $layout_info as $position_widgets => $description ){ //define layout by default right_1 is open $layout_info[$page->ID][$position_widgets]['active']=($position_widgets==='right_1')?true:false; $layout_info[$page->ID][$position_widgets]['style']=$style_default; } } } set_theme_mod( 'BillyDroid_layout_options', $layout_info ); } //update pages sidebar automatically. If not exists function get_current_sidebar (){ $layout_info = get_theme_settings ( 'layout_info' ); $id = ( is_page() )?get_the_ID():0; $sidebar = 'fullwidth'; $comp = array_walk( $layout_info[$id], function ( &$value, $key){ static $matches=0; switch ( $key ) { case 'left_1': case 'left_2': case 'right_1': case 'right_2': if ( true == $value['active'] ) $matches++; break; } $value = $matches; }); if ( $comp ){ $matches = end( $layout_info[$id] ); if ( $matches >0 ) $sidebar = 'sidebar_'.$matches; } return $sidebar; } ?>