Сайты на WordPress

Как сделать тему совместимой с WordPress 3.0

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

На самом деле все просто. Для реализации той или иной новой возможности надо добавить определенные блоки кода в тексты файлов темы WordPress. Вот что конкретно предстоит сделать.

Редактор меню навигации

Для того чтобы включить эту возможность, надо добавить строку кода

add_theme_support(‘menus’);

к тексту файла functions.php темы.

Для вызова меню следует включить строки кода

<?php wp_nav_menu( array( ‘sort_column’ => ‘menu_order’, ‘container_class’ => ‘menu-header’ ) ); ?>

В соответствующем месте файла header.php, где menu-order – это css класс для меню. Этот класс необходимо добавить в файл style.css.

Пользовательский хедер для темы

Добавьте следующий текст в файл functions.php (размеры картинки должны быть, естественно, Ваши):

define( ‘HEADER_IMAGE’, ‘%s/images/logo.png’ ); // The default logo located in themes folder
define( ‘HEADER_IMAGE_WIDTH’, apply_filters( », 770 ) ); // Width of Logo
define( ‘HEADER_IMAGE_HEIGHT’, apply_filters( », 153 ) ); // Height of Logo
define( ‘NO_HEADER_TEXT’, true );
add_custom_image_header( », ‘admin_header_style’ ); // This Enables the Appearance > Header
// Following Code is for Styling the Admin Side
if ( ! function_exists( ‘admin_header_style’ ) ) :
function admin_header_style() {
? >
<style type=»text/css»>
#headimg {
height: <?php echo HEADER_IMAGE_HEIGHT; ? >px;
width: <?php echo HEADER_IMAGE_WIDTH; ? >px;
}
#headimg h1, #headimg #desc {
display: none;
}
</style>
<?php
}
endif;

Используйте в файле header.php хук

<?php header_image(); ?>

для привязки картинки хедера.

Например:

<img src=»<?php header_image(); ?>» width=»<?php echo HEADER_IMAGE_WIDTH; ?>» height=»<?php echo HEADER_IMAGE_HEIGHT; ?>» alt=»Header Image» />

Автоматическое добавление ссылок каналов

Для того чтобы все необходимые ссылки каналов RSS автоматически добавлялись к хедеру темы, добавьте следующую строку к файлу functions.php

add_theme_support( ‘automatic-feed-links’ );

Поддержка картинок тумбнейлов в постах

Такая возможность на самом деле присутствовала еще в WordPress 2.9. Многие новостные и журнальные темы используют тумбнейлы для главной страницы. Старые версии WordPress использовали специальные пользовательские поля в постах для реализации такой возможности. Теперь существует встроенная поддержка для того чтобы загружать картинки и использовать их в качестве тумбнейлов. Но только в том случае, если такая поддержка заложена также и в теме.

Для того чтобы включить данную возможность, надо добавить к файлу functions.php строку

add_theme_support( ‘post-thumbnails’ );

Сама картинка может быть вызвана посредством

<?php the_post_thumbnail(); ?>

Как только Вы это сделаете, в правой части панели добавления поста появится соответствующий виджет.

Поддержка пользовательских фонов

Для того чтобы включить такую поддержку, надо добавить строку

add_custom_background();

к файлу functions.php.После этого в меню ”Appearance” админпанели появится подпункт Background.

Пользовательские типы постов и таксономии

Для реализации этой возможности также требуется добавить несколько строк кода к файлу functions.php. Более подробно о том, что требуется сделать, читайте в статье: Пользовательские типы постов и таксономии.

Что еще почитать:

Комментарии

5 коммент. на “Как сделать тему совместимой с WordPress 3.0”
  1. А можно про каждый пункт отдельно? И желательно с картинками :)
    Хотела сделать вставку миниатюр, но оказалось, что добавить указанную строку в файл functions.php, мало. Картинка упорно не хочет появляться в записи. Читала где-то, что нужно еще добавить какой-то код в файл index

    • admin:

      На самом деле все довольно просто. Это работает так же, как обычная вставка картинки в пост. Просто вставка идет не из области редактирования, а из специального виджета в правой панели. Если этот виджет есть, значит все сделано правильно и все работает. Если виджета нет, то что-то не так.

      Если есть поддержка миниатюр в functions.php и движок WP нужной версии, то появляется виджет справа при вводе поста, и все должно работать нормально. Ничего другого больше делать не требуется.

      Но есть еще несколько дополнительных возможностей. Думаю, об этом мы поговорим в одной из следующих статей.

      • Виджет в правой панели появился, а вот картинка не вставляется куда-надо. Думаю, это от темы зависит. Буду разбираться и ждать ваших следующих статей.

        • admin:

          Виджет появился — значит, все работает. А дальше надо брать шаблоны страниц (например, home.php) и смотреть, где и как это выводится. И если надо, поправлять исходный текст.

  2. Нужно интегрировать мой дизайн в премиум тему

    skype: captain.power
    icq: 57098462

Поделитесь своими мыслями

Расскажите нам, о чем Вы думаете...
да, если Вы хотите, чтобы картинка показывалась рядом с Вашим комментарием, подпишитесь на gravatar!

Я не робот.

Сайты на WordPress

Рейтинг@Mail.ru