Главнаяреклама → Twenty Eleven: вывод сайдбара для отдельных записей и страниц
4 580 просмотров
В этой статье 264 слов.
Bukvus - отправка ошибок

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

Автор: Architect Of Ruin

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

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

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

Шаг первый

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

[php]<?php get_footer(); ?>[/php]

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

[php]<?php get_sidebar();?>[/php]

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

Шаг второй

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

[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; }
[/css]

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

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

Шаг первый

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

[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);
[/css]

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

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

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

Шаг третий

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

[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);
}
[/php]

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

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

[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%;
}
[/css]

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

Источники:

http://wordpress.stackexchange.com/questions/15850/remove-classes-from-body-class

http://www.transformationpowertools.com/wordpress/twenty-eleven-sidebar-on-single-posts-and-pages

Не забывайте, пожалуйста, нажимать "поделиться" Вконтакте, Фейсбуке, Гугл+ и т.д., а также оценку 5*, если вам понравилась статья!

Оцените, пожалуйста, статью
1 балл2 балла3 балла4 балла5 баллов (1 votes, average: 5,00 out of 5)
Загрузка...

Если вы также хотите смотреть мои видеоматериалы, то подписывайтесь на мой канал
Рекомендовать

Подписаться на RSS ленту

Купить штатив Gitzo
Купить штатив или фоторюкзак Manfrotto
Купить светофильтры LEE

Хотите бесплатно получать свежие
статьи по фото?

  • - тесты обьективов и фотокамер
  • - статьи по истории фототехники
  • - секретные приемы фотосьемки
  • - проф. методы обработки в фотошопе

http://evtifeev.com


купить светофильтр B+W

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Гости могут загрузить 2 картинки (можно отметить кликами левой кнопкой мыши на названиях файлов, с зажатой клавишей Ctrl), размером не более 800KB каждая. Картинки должны быть форматов jpeg, pjpeg, png.

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

  1. Первоначально желание вставить сайдбар на записи было и у меня.

    И я это сделал, но когда один из моих сайтов попал под фильтр Яши из-за того. что ссылки в сайдбаре на  популярные сайты с главной проходили по записям как сквозные.  И расценивались Яндексом такие ссылки  как коммерческие.  Я учел это, и не стал включать сайдбар в записях. ИМХО.

    С уважением, Александр Афанасьев.

    • У меня Яша не видит ссылки с сайдбара т.к. они подключаются скриптом. Т.е. по сути грузятся как AJAX. Так и запись загружается, не ждёт пока загрузится сайдбар и для поисковиков сайдбар не виден.

      • Для меня пока это темный лес. Но хочу все (основы) изучить и применить на своих WP. Темы уже правлю сам. Если знаете, то подскажите, почему Редактор сайта не видит дочернюю тему WP, конкретно — файл  css? Приходится редактировать через сервер или с помощью FilleZilla.  Тестовый сайт -  voltest.ru

        С уважением, Александр Афанасьев.

        • Под дочерней темой вы имеете в виду неактивную тему? В любом случае редактирование через сервер (правка в notepad++ или подобном) намного быстрее и надежнее. У меня два редактора стоят типа блокнота для редактирования. По-моему в обоих есть синхронизация с сервером даже. Удачи в редактировании!

          • Под дочерней темой вы имеете в виду неактивную тему?

            дочерняя тема — как раз активная тема, и после обновления основной темы правки в дочерней теме остаются сохраненными.

            Здесь voltest.ru — обкатываю все правки в темах, вместо локального сервера. Сейчас заинтересовала тема TwentyEleven.

            С уважением, Александр Афанасьев.

            • Здравствуйте, Александр!

              Когда я завел блог такого понятия вроде еще не было, все правки делал «по живому». Теперь буду знать о такой возможности.

              Считаю, что локальный сервер все-таки лучше т.к. У вас всегда будет актуальная копия вашего блога под рукой. Нужно это потому, что когда ваш блог станет популярным, найдутся желающие его взломать и встроить свои вредоносные скрипты. У меня были такие случаи.

Страница 1 of 11