Шаблоны постов для WordPress

Вячеслав Гринин, January 7, 2009

Если Вы часто пишете статьи для своего блога, то у Вас наверняка возникла необходимость вставки в ваши статьи каких-то однообразных элементов. Например, в нашем блоге в конце каждой статьи(поста) присутствует вот такой HTML-код:

—————————————————–
<script src=”http://onebutton.googlecode.com/files/onebutton.js” type=”text/javascript”></script>
Хостинг изображений – <img src=”http://www.radikal.ru/favicon.ico” alt=”” /><a href=”http://www.radikal.ru/”><strong>radikal.ru</strong></a>

И вот, знаете ли, надоедает каждый раз откуда-то его копировать и вставлять. Хочется автоматизировать процесс. А WordPress, как назло, не имеет поддержки шаблонов постов. Ответ был найден в интернете. Это специальный плагин post-template. Русификация к нему была обнаружена вот здесь. Итак, последовательность шагов элементарная:

  1. Плагин берем вот здесь
  2. Файл с переводом берем вот здесь
  3. Распаковываем плагин, а перевод копируем в папку с плагином
  4. Закачиваем папку плагина в /wp-content/plugins нашего блога
  5. Активируем и пользуемся!

Как пользоваться:

  1. Заходим в Templates->New Post Template
  2. Создаем новый шаблон

Теперь, чтобы создать новый пост с использованием шаблона, нужно зайти в Templates->Templates, отыскать в списке нужный шаблон и нажать кнопку New Post From Template. При этом Вы автоматически переместитесь на страницу создания нового поста, а в поле ввода текста поста уже будет вставлен Ваш шаблон. Вам осталось только написать саму статью.

—————————————————–

Виджетизация тем для WordPress

Вячеслав Гринин, January 6, 2009

Вот скачали классную тему для WordPress, поднастроили ее маленько под свои нужды, порадовались тому, как легко все получается, захотели настроить сайдбар, набить его своими виджетами и обломались.

В администраторской консоли в списке виджетов Appearance->Widgets обнаружили жуткую ругань вордпресса. Она жаловался, что тема, видите ли, как-то не так устроена, и виджеты в ее сайдбаре он показывать не хочет. Ну, как ребенок маленький, честное слово! То есть, что-то похожее на виджеты в сайдбаре, конечно, есть, да вот не совсем то, что хотелось бы, и настроить это “что-то похожее” не получается. В поисках истины заглянули в интернет и вот что узнали…

Оказывается, чтобы вордпрессовская тема поддерживала виджеты, она должна удовлетворять некоторым критериям. А если тема критериям не удовлетворяет, то ядро вордпресса в растерянности разводит руками и признает, что оно не знает, как в “эту хрень” вообще вставлять виджеты.

Я для примера специально взял тему, которая не поддерживает виджеты, называется эта тема marque.

Итак, вы  скачали тему marque для вордпресса вот здесь,  распаковали ее и закинули на ваш хостинг в папочку вордпресса /wp-content/themes/. Затем активировали тему в панели Appearance->Themes.

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

Итак, первый шаг.

Сам исходник сайдбара хранится вот здесь: /wp-content/themes/marque/sidebar.php, именно его мы и будем исправлять в первую очередь. Нам нужно сделать так, чтобы в нем обязательно присутствовал один ненумерованный список <ul></ul>. Именно этот список ядро вордпресса заполнит впоследствии виджетами.

Поэтому вы сначала сохраняете копию этого файла (а вдруг там что интересное есть), а затем начинаете без зазрения совести переписывать весь код сайдбара с нуля. Нам нужно, чтобы в нем осталось вот что:

<ul>
<?php if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar() ) : ?>
<li>
<h2>Заголовок виджета №1</h2>
Тело виджета №1
</li>
<li>
<h2>Заголовок виджета №2</h2>
Тело виджета №2
</li>
<?php endif; ?>
</ul>

Итак, что мы здесь видим. 1) UL-список, 2) PHP-блок if-endif 3) html-код внутри PHP-блока.

Блок if-endif проверяет включена ли в вордпрессе возможность динамического добавления виджетов в сайдбар. И если она НЕ включена, то выводит в результирующий документ тот html-код, что находится в этом блоке, то есть в данном случае два элемента списка <li>. Если же поддержка динамического сайдбара включена, то от всего этого остается лишь вот что:

<ul>
</ul>

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

Итак, теперь шаг второй.

Проверяем, есть ли в папке /wp-content/themes/marque/ файлик functions.php. Конечно, если тема не поддерживает виджеты, то файлика этого Вы там не обнаружите. Создайте его и напишите внутри вот что:

<?php
if ( function_exists(‘register_sidebar’) )
register_sidebar(array(
‘before_widget’ => ‘<li id=”%1$s” class=”widget %2$s”>’,
‘after_widget’ => ‘</li>’,
‘before_title’ => ‘<h2>’,
‘after_title’ => ‘</h2>’,
));
?>

Этот код зарегистрирует сайдбар и задаст для его отображения некоторые параметры. В данном случае, каждый виджет он обернет в тег <LI>, а заголовок у каждого виджета будет обернут в тег <H2>.  Первое нам необходимо, чтобы список <UL> был валидным (чтобы он содержал в себе не всякий текстовый мусор, а именно элементы <LI>), а второе – чтобы затем с легкостью подправив файл стилей styles.css данного шаблона, мы могли отрегулировать требуемый нам внешний вид заголовков виджетов.

И последний, третий шаг. (необязательный)

Правка файла стилей.  Сначала найдите его здесь: /wp-content/themes/marque/style.css и проконтролируйте, чтобы в нем существовало или появилось следующее:

h2 {
font-size: 12px;
margin: 0px 0 6px 0;
padding: 3px 0 3px 5px;
font-weight: bold;
color: #ffffff;
border-bottom: #3d3d3d 1px solid;
background: url(“images/title.jpg”) repeat-x;
}

h2 a,
h2 a:visited,
h2 a:hover,
h2 a:visited:hover {
text-decoration: none;
color: #ffffff;
}

Здесь мы полностью отрегулировали внешний вид заголовков виджетов.  Первый стиль для H2 вы задаете самостоятельно, сообразно Вашим требованиям к внешнему виду заголовков. В приведенном примере заголовки будут заполнены фоном images/title.jpg. Ну а вторая часть стиля для H2 просто отменяет подчеркивания и изменение цвета для заголовков, если они вдруг (не приведи Господи!) содержат ссылки.
Вот и все. Наслаждайтесь.
А вот здесь лежат исправленные файлы.
—————————————————–

Хостинг изображений – radikal.ru

Поиск по блогу:
Подписаться:
Популярные:
Облако тегов:
Разное:
Счетчик: