Twenty Eleven: вывод сайдбара для отдельных записей и страниц

Новая тема Twenty Eleven всем бы была хороша, если бы не отсутствие сайдбара на некоторых страницах. Как я понял, многие хотят вернуть сайдбар, причем быстро и без особых усилий. В поисках необходимой информации я наткнулся на одно хорошее руководство, которое описывает процесс установки сайдбара для отдельных записей и страниц. Учитывая, как много пользователей желают сделать это, в ближайшее время стоит ожидать плагина, который выполнял бы все действия в автоматическом режиме. Однако пока такого плагина нет, пользователям приходится проводить необходимые изменения вручную.

Вернуть сайдбар довольно сложно, поскольку файл style.css с каждой новой версией все больше и больше разрастается. Разобраться во всех этих стилях можно лишь после длительного и скрупулезного изучения WordPress, на что требуется время и желание. Ни того, ни другого у людей обычно нет, особенно если их блог связан с каким-либо бизнесом. Поэтому давайте пошагово рассмотрим процесс возвращения сайдбара.

Способ первый: лобовая атака

Содержание статьи:

Шаг первый

Переходим в редактор темы, открываем файл single.php, ищем в нем следующую строку:

<?php get_footer(); ?>

и размещаем над ней следующий код:

<?php get_sidebar(); ?>

Сохраняем файл.

Шаг второй

Открываем файл style.css. В самый конец этого файла заносим следующие стили:

 .singular #primary { margin: 0 -26.4% 0 0; }   #nav-single { display: none; }   .singular .entry-header .entry-meta { position: relative; }   .singular .hentry { padding: 0; }   .singular .entry-header, .singular .entry-content, .singular footer.entry-meta, .singular #comments-title { width: 100%; }   .singular #content, .left-sidebar.singular #content { margin: 0 34% 0 7.6%; }   .singular article .entry-title { padding-top: 0; }   .singular .entry-meta .edit-link a { right: 0; top: 0; left: auto; } 

Все готово. Просто и быстро.

Способ второй: тщательное планирование

Шаг первый

На первом шаге нам понадобится создать дочернюю тему. Для этого мы создадим подпапку в папке /wp-content/themes и назовем ее, к примеру, twentyelevenchild. В эту папку нужно будет поместить файл style.css, который должен содержать следующий код:

 /* Theme Name: Twenty Eleven Child Author: alchymyth Description: a child theme, based on the 2011 theme for WordPress Author URI: http://wordpress.org/ Template: twentyeleven */  @import url(../twentyeleven/style.css); 

Затем в эту же папку нужно добавить файл functions.php; мы вернемся к нему позже.

Шаг второй

Возвращаем сайдбар. Для этого нам понадобится открыть файл single.php и/или page.php и добавить в него следующую строку:

<?php get_sidebar(); ?>

перед строкой

<?php get_footer(); ?> 

Шаг третий

Подавляем действие .singular body_class для отдельных записей и страниц. Чтобы достичь этого, необходимо добавить следующий фильтр в файл functions.php, находящийся в папке с нашей дочерней темой:

add_filter('body_class', 'blacklist_body_class', 20, 2); function blacklist_body_class($wp_classes, $extra_classes) { if( is_single() || is_page() ) : // List of the classes to remove from the WP generated classes $blacklist = array('singular'); // Filter the body classes   foreach( $blacklist as $val ) {     if (!in_array($val, $wp_classes)) : continue;     else: 	  foreach($wp_classes as $key => $value) { 	  if ($value == $val) unset($wp_classes[$key]); 	  }     endif;   } endif;   // Add the extra classes back untouched return array_merge($wp_classes, (array) $extra_classes); }   

Шаг четвертый

Настраиваем style.css дочерней темы. К примеру, стили могут быть следующими:

.single #author-info { 	background: #f9f9f9; 	border-top: 1px solid #ddd; 	border-bottom: 1px solid #ddd; 	margin: 2.2em 0% 0 0%; 	padding: 20px 35.4%; } 

С помощью стилей дочерней темы можно изменить представление и других элементов. Все зависит от требований автора.

Add Sidebar in Single Post Pages of Twenty Eleven WordPress Theme

Источник: oddstyle.ru

Comments (0)
Add Comment