Здравствуйте, сегодня будем изменять стандартную тему wordpress – Twenty Twelve, а именно: создадим в ней еще один сайдбар слева к уже имеющемуся сайдбару справа – в итоге у нас получиться тема Twenty Twelve с 2 сайдбарами слева и справа.
Скачать исходники для статьи можно ниже
PS: Статья в процессе написания…
1. Зарегистрируем новый сайдбар в теме Twenty Twelve, а для этого нам нужно перейти в файл functions.php (пункт “Внешний вид” – подпункт “Редактор” – справа в списке шаблонов находим файл functions.php) и вставить следующий код:
// Register extra sidebar function mytheme_widgets_init() { register_sidebar( array( 'name' => __( 'Extra Sidebar', 'tto' ), 'id' => 'sidebar-4', 'description' => __( 'The Left Sidebar. Displayed on all but full width and homepage template.', 'mytheme' ), 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => "</aside>", 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); } add_action( 'widgets_init', 'mytheme_widgets_init' );
2. Добавляем созданный нами сайдбар в шаблон темы Twenty Twelve, а для этого переходим в файл sidebar.php (пункт “Внешний вид” – подпункт “Редактор” – справа в списке шаблонов находим файл sidebar.php) и вставить следующий код, который должен располагаться над кодом правого сайдбара:
<?php if ( is_active_sidebar( 'sidebar-4' ) ) : ?> <div id="extra-sidebar" class="widget-area" role="complementary"> <?php dynamic_sidebar( 'sidebar-4' ); ?> </div><!-- .extra-sidebar .widget-area --> <?php endif; // end extra sidebar widget area ?>
3. Изменяем ширину темы Twenty Twelve, а для этого опять заходим в файл functiond.php и вставляем код:
// Override content width (for photo and video embeds) $content_width = 500; // Display 1000px width content if full width page template function mytheme_content_width() { if ( is_page_template( 'page-templates/full-width.php' ) || is_attachment() ) { global $content_width; $content_width = 1000; } } add_action( 'template_redirect', 'mytheme_content_width', 11 );
здесь же добавляем еще один код, который изменяет размеры миниатюр^
// Change default thumbnail size function mytheme_twentytwelve_setup() { set_post_thumbnail_size( 500, 9999 ); // (default featured images)Unlimited height, soft crop } add_action( 'after_setup_theme', 'mytheme_twentytwelve_setup', 11 );
4. Добавляем еще кода в файл functions.php
// Add child theme body class function mytheme_body_class( $classes ) { if( ! is_page_template() ) $classes[] = 'custom-layout'; return $classes; } add_filter( 'body_class', 'mytheme_body_class' );
5. Теперь переходим к форматированию стилей темы Twenty Twelve, а для этого переходим в файл style.css (пункт “Внешний вид” – подпункт “Редактор” – справа в списке шаблонов находим файл style.css) и вставить следующий код:
/* Increase theme width to 1000px */ @media screen and (min-width: 960px) { .site { max-width: 1000px; max-width: 71.4285rem; } } .ie .site { max-width: 1000px; } footer[role="contentinfo"] { max-width: 1000px; max-width: 71.4285rem; }
здесь же добавляем следующий код:
/* Left & Right Sidebars */ @media screen and (min-width: 600px) { .custom-layout .site-content { width: 50%; margin-left: 25%; } .custom-layout .widget-area { position: relative; width: 20%; } .custom-layout #extra-sidebar { float: left; margin-left: -75%; width: 20%; } }
а также для браузера IE добавляем еще код:
/* IE8 and IE7 - Left and Right Sidebars */ .ie .custom-layout .site-content { width: 50%; margin-left: 25%; } .ie .custom-layout .widget-area { float: right; width: 20%; position: relative; } .ie .custom-layout #extra-sidebar { float: left; margin-left: -75%; width: 20%; }
Все готово!
Спасибо большое за статьи по этой теме.
Пока найдешь нужную информацию,
перероешь весь интернет.