Как включить произвольную панель хидера с картинками в WordPress 3.0. Часть 2

Продолжение статьи Как включить произвольную панель хидера с картинками в WordPress 3.0. Часть1

Какая то ересь. Объясните!

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

Примечание: Мы использовали директорию /images/headers/ для хранения дефолтных изображений.

  • Код начинается созданием функцииyourtheme_setup().
  • В строке 16 мы определяем дефолтное изображение для хидера. Переменная %s является контейнером для ссылки на директорию темы.
  • Строки 19 и 20 определяют ширину и высоту. По-умолчанию ширина установлена в 940px, а высота — 198px. Изменить их можно, просто отредактировав эти строки.
  • Начиная со строки 31 мы регистрируем дефолтные хидеры. Это те изображения, которые будут отображены с кнопкой переключения в административной панели. Если вам нужно больше настроек, то добавляйте их, придерживаясь заданного формата.
  • В строке 83 мы определяем стилизацию хидера. Вам не нужно изменять эти настройки, так как мы уже определили их выше.

Вот и все, что нужно проделать с файлом functions.php. Теперь мы займемся добавлением этого всего в вашу тему.

Код, который нужно добавить в вашу тему

Этот код скорее всего лучше расположить в файле header.php темы. Настраивайте по вашему желанию.

<?php
// Проверяем, запись это или страница, задана ли миниатюра, и насколько миниатюра большая
if ( is_singular() &&
has_post_thumbnail( $post->ID ) &&
( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail') ) &&
$image[1] >= HEADER_IMAGE_WIDTH ) :
// У нас новое изображение в хидере!
echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
else : ?>
<img src="<?php header_image(); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" />
<?php endif; ?>

Что делает этот код?

  • Для начала он проверяет, запись это в блоге или страница. Также он проверяет, задана ли им миниатюра, и насколько миниатюра большая.
  • Если текущая страница является страницей и в миниатюре достаточно большое изображение, тогда он выводит в хидере миниатюру.
  • Если же это НЕ страница, или миниатюра мелкая, то отображает дефолтный хидер.

Надеемся, что статья окажется вам полезной.

VN:F [1.9.22_1171]
Rating: 1.0/5 (1 vote cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top