Создание отдельного шаблона страниц в WordPress

Monday, 17 Mar 08 в 23:11

Создание отдельного шаблона страниц в WordPressВ прошлой заметке о баннерной рекламе в блогах я рассказывал, что показываю возможные способоы расположения баннеров с помощью отдельного шаблона. Дабы не оставалось «темных пятен» и неясных моментов расскажу сегодня как же реализовать и внедрить для своего блога на WordPress отдельных шаблон. Это не так сложно, как может показаться на первый взгляд, хотя с другой стороны – мы рассмотрим весьма легкий пример.

Если шаблон вашего блога располагается в папке wp-content/themes/имя_шаблона/, то вы запросто сможете модифицировать его через админку в WordPress. Для этого заходим в меню Presentation - Theme Editor:

Presentation - Theme Editor

Здесь видим список всех доступных файлов шаблона справа и собственно код выбранного файла. В правом нижнем углу должна быть кнопка Update Files.

Редактирование файлов шаблона в WordPress

Если кнопки нет, это значит тот или иной файл закрыт от записи. Нужно зайти на ФТП, найти его и поставить галочки в свойствах файла для колонки Writable напротив первых двух пунктов. После этого появится возможность сохранить все изменения, внесенные в код через админку.

Тема/шаблон блога как правило состоит из нескольких отдельных php файлов, каждый из которых отвечает за отображения определенной части этого самого шаблона. Например, header.php выводит HTML код внутри тэгов <HEAD></HEAD>, а также шапку сайта, sidebar.php – вспомогательные колонки справа, footer.php – низ шаблона и т.д. Главный код находится в index.php. Здесь идет вызов всех вспомогательных файлов шаблона и формируется окончательный внешний вид сайта.

Поэтому первым делом для создания дополнительного шаблона нам нужна копия основного файла index.php – сохраняем его под любым другим названием (new_index.php). В самом верху можно добавить строки, определяющие название шаблона в админке:

<?php
/*
Template Name: Adv
*/
?>

Подключение дополнительных файлов в основной производится с помощью соответствующего кода: <?php get_header(); ?>, <?php get_sidebar(); ?>, <?php get_footer(); ?>. Делаем копию того файла, для которого мы хотим изменить внешний вид, например для шапки сайта – header.php и т.д. Сохраняем под любым новыми именем (new_header.php).

Теперь, внимательно! Чтобы подключить измененный вспомогательный файл (new_header.php) в новый основной файл шаблона (new_index.php) мы вместо строки:
<?php get_header(); ?>
пишем:
<?php include(“new_header.php”); ?>.

Уловили фишку? По сути – создаем свой собственный основной файл шаблона, который будет состоять из видоизмененных вспомогательных файлов.

После завершения всех работ по модификации кода шаблона, записываем новые файлы в ту же папку с шаблоном wp-content/themes/имя_шаблона/. Теперь при создании страницы будет возможность выбрать свой шаблон для нее. Это производится в блоке Page Template, что находится в правой колонке в форме созданий страницы для блога. Имя в этом выпадающем списке отображается то, которое мы задавали в основном файле шаблона в строке с «Template Name».

Выбор шаблона для страницы в WordPress

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

Все вопросы и замечания прошу оставлять в комментариях.

Понравился пост? Подпишись на обновления блога по RSS для блоггеров и вебмастеровRSS, RSS для блоггеров и вебмастеровEmail или twitter для блоггеров и вебмастеровtwitter!
Добавить комментарий

Комментариев - 17 для данного поста

  1. валерий Пишет:

    спасибо большое! за подробное обьяснение

  2. @ Nixx Пишет:

    Создание отдельного шаблона страниц в WordPress

    Скажите, а для записей можно сделать, что-то подобное.

    Например:
    Если single.php новость из категории id-1 – то отобразится при просмотре блоки A,B,C
    Если все остальные категории (id-3, id-20 и т.д.) то отобразатся блоки D,E

    A title
    B caledar
    C except
    D content
    E comments

  3. Tod Пишет:

    Nixx, попробуй глянуть здесь – http://codex.wordpress.org/Template_Tags/in_category (должно помочь)

  4. @ Nixx Пишет:

    Благодарен. Сейчас попробую разобраться.

  5. @ Олег Пишет:

    А как сделать, чтобы движёк wordpress обрабатывал не только стандартные адреса, типа post_id, но и другие, которые я сам сделаю. Например, я хочу сделать каталог, а как объяснить движку способ обработки адреса /straniza_cataloga_id. Я говорю не про ЧПУ, а про дополнительные файлы в папке шаблона wordpress

  6. Tod Пишет:

    Олег, тут нужно почитать о создании модулей для wordpress, как я понимаю. Есть какие-то свои хитрости, чтобы это все работало. К сожалению, в этом направлении я ничего не читал.

  7. @ Олег Пишет:

    Спасибо. Буду копать в эту сторону

  8. gosha Пишет:

    А у меня выбора шаблона не появляется, думал из за темы, а нет… буду ждать 3 версию, может там исправится косяк

  9. anton Пишет:

    В этом коде присутствует ошибка . Котнкретно – кавычки. Они должны быть одинарные.

  10. 3d-user Пишет:

    А я редактирую в блокноте, а потом измененные файлы заливаю на сервер.

  11. Федор Пишет:

    Попробывал чесно работает, но мне жалко времени на это!

  12. Artem Пишет:

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

  13. @ Эрик Пишет:

    Добрый день. У меня киношный сайт и на нем присутствует много описаний фильмов, которые типичные и одинаковые по структуре. вот как можно сделать шаблон для таких записей? (не страниц)
    перешел по ссылке выше (для создания шаблонов записей) там все по английски, а нет ли русского аналога? или перевода….
    заранее спасибо

  14. Tod Пишет:

    Эрик, если нужен отдельный шаблон для записей (постов) блога, то почитай статью выбор и использование разных шаблонов для файла single.php, там есть соответствующая информация.

  15. @ Эрик Пишет:

    Спасибо за вашу работу!!! =)

  16. EvgeniyVorobiev Пишет:

    Спасибо! Очень пригодилось!
    Как раз сделал сервис у себя на блоге. Так сказать бесплатный фотошоп. =)

  17. Евгений Фоменко Пишет:

    Для простых вариантов дизайна можно отдельные части шаблона делать в виде виджетов и потом просто через отдельный плагин выводить нужные куски в нужных местах – тут ничего ручками ковырять по сути не нужно.

Оставить комментарий (правила комментирования)