Показ сайдбара в теме Twenty Eleven в одиночных записях

Вывод бокового сайдбара для одиночных записей или страниц в Twenty Eleven

В теме Twenty Eleven  по умолчанию отсутствует вывод сайдбаров на некоторых страницах. Далее 2 способа вернуть сайдбары для этих страниц.

1 способ

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

< ?php get_footer(); ?>

и поместить над ней этот код:

< ?php get_sidebar(); ?>

должно выглядить так:

< ?php get_sidebar(); ?>
< ?php get_footer(); ?>

Сохранить файл.

Открыть файл 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;
}

Готово.

2 способ

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

/*
Theme Name: Twenty Eleven Child
Author: itmemoman
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; для подавления действия .singular body_class для отдельных записей и страниц добавить этот фильтр в этот файл:

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);
}

Открыть файл single.php и/или page.php и добавить в него следующий код (как в предыдущем способе):

< ?php get_sidebar(); ?>

перед

< ?php get_footer(); ?>

Дополнительно можно настроить 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%;
}

Также можно добавить screenshot.jpg изображения получившейся темы в эту папку.
Готово.