Начиная с версии WordPress 3.2 в стандартную поставку входит тема Twenty Eleven. Сама по себе тема очень неплоха и, наверно, единственный ее недостаток заключается в том, что на одиночных страницах и страницах записей отсутствует боковая колонка — так называемый сайдбар.
С отсутствующим сайдбаром пропадает место для рекламы и навигации. Однако это поправимо с помощью следующих шагов.
Создайте дочернюю тему. Как это делается описано в статье Дочерние темы. Создайте в папке темы файл functions.php — он будет использован позже.
Добавьте вызов показа боковой колонки. Для этого отредактируйте файлы single.php и page.php и добавьте строку
<?php get_sidebar(); ?>
перед строкой
<?php get_footer(); ?>
Добавьте в файл 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);
}
После этого остается только внести изменения в 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%;
}
А также для лучшего отображения области комментариев
#respond {
width: auto;
}
.commentlist {
width: auto;
}
.commentlist > li.comment {
margin: 0px 0px 20px 102px;
width: auto;
}
Теперь небольшое дополнение. Касательно строки кода
if
( is_single() || is_page() ) :
Если вы не хотите, чтобы сайдбар отображался на статичных страницах, то просто не изменяйте файл page.php и уберите из строки кода, показанной выше
|| is_page()
Приведенный выше код также затрагивает и страницы вложений. Если вы хотите, чтобы сайдбар отображался и на этих страницах, то измените файл image.php и добавьте строку
<?php get_sidebar(); ?>
до вызова get_footer(). Также придется стили .image-attachment div.attachment. Если же вы хотите, чтобы страницы вложение были без боковой колонки, то в функции blacklist_body_class измените строку проверки типа страниц на
if
( (is_single() && !is_attachment()) || is_page() ) :
Кстати, существует и альтернативное решение — плагин Twenty Eleven Theme Extensions. Но он не обновляется уже очень давно и неизвестно насколько он совместим с текущими версиями WordPress.