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

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

Автор: Architect Of Ruin

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

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

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

Шаг первый

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

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

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

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

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

Шаг второй

Открываем файл 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*, если вам понравилась статья!

Обучение предметной фотосъемке

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

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

http://evtifeev.com

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

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

Рекомендовать


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

 

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img src="" alt="" title="" height="" width="">

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

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

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

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

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

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

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

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

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

          Ваше мнение: Thumb up 0 Thumb down 0 Только зарегистрированные пользователи могут голосовать
          • Под дочерней темой вы имеете в виду неактивную тему?

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

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

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

            Ваше мнение: Thumb up 0 Thumb down 0 Только зарегистрированные пользователи могут голосовать
            • Здравствуйте, Александр!

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

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

              Ваше мнение: Thumb up 0 Thumb down 0 Только зарегистрированные пользователи могут голосовать
Страница 1 of 11