• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Краткая новость с превьюшкой

Статус
В этой теме нельзя размещать новые ответы.

E-body

Мой дом здесь!
Регистрация
6 Сен 2007
Сообщения
992
Реакции
342
Здраствуйте.
Подскажите как делается в вордпреессе красивые краткие новостные блоки.
Мини картинка в кракой новости, а если нету картинок в новости то показывает заглушшку например noimage.jpg
Кроме этого варианта есть еще?
PHP:
<img align="left" style="margin-left: 4px; margin-right: 4px;" src="<?php echo get_post_meta($post->ID, "thumbnailimg", true); ?>" width="90" />
Вроде нашел что надо.
Сегодня я расскажу вам как вывести эту первую картинку со своими настройками, то есть вывести ее так как вам этого захочется, любого размера и с любым CSS свойством. Для этого мы будем использовать маленький скрипт и стандартные возможности блогового движка Wordpress.
Итак скрипт называется TimThumb, его написал сторонний разработчик и предназначен он для обрезания и кеширования картинок в постах на wordpress блогах.
Его удобно использовать во множестве случаев, например вывести первую картинку в анонсе с любым размером, например 200х150 пикселей, а хотите 120х70 пикселей, а хотите квадратную 150х150 пикселей, не проблема. Вывести картинку при помощи TimThumb можно как из дополнительного поля, так и первую картинку из поста, как вам угодно.
TimThumb берет картинку, обрезает ее до тех размеров, которые вы укажите, сохраняет обрезанную картинку в папку-кеш (чтобы постоянно не обрезать, первый раз он обрезает ее, а потом выводит уже обрезанную картинку) и выводин на страницах блога. Кстати я уже придумал как использовать этот скрипт на сайтах на DLE.
В общем приступаем действовать. Вот код вывода картинки из дополнительного поля, я разбил ег она несколько строк, но это можно сделать одной строкой
PHP:
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> 
<img src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src=<?php echo get_post_meta($post->ID, 'minipic', true); ?>&amp;h=90&amp;w=120&amp;q=75&amp;zc=1" 
width="120" height="90" class="mypic" alt="<?php the_title(); ?>" /> 
</a>
Как вы видите в первой строке тег ссылки, в котором в качестве title используется заголовок поста the_title(); далее указываем что скрипт TimThumb лежит в папке с темой функцией bloginfo(’stylesheet_directory’); get_post_meta(…) - функия вывод дополнительного поля, причем там используется название дополнительного поля из которого выводим картинку minipic, далее идут параметры обрезаемой картинки - высота 90 пикселей и ширина 120 пикселей, качество изображения 75%. Размеры картинки прописываем два раза, как для скрипта, так и в теге img, alt опять берем из заголовка поста.
Вы заметили что я в тег img добавил класс mypic, теперь посредством CSS мы сможем изменить свойства изображаемой картинки, например добавить выравнивание по левому краю или обвести черной рамкой.
Теперь сделаю тоже самое только при помощи функции, которая определит первую картинку в посте и преподнесет ее скрипту TimThumb. Вот как это делается
PHP:
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> 
<img src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src=<?php echo catch_that_image(); ?>&amp;h=90&amp;w=120&amp;q=75&amp;zc=1" 
width="120" height="90" alt="<?php the_title(); ?>" /> 
</a>
 
Отлично.
Забыли только скрипт, выводящий первую картинку из поста:

PHP:
function catch_that_image($post=0){  
    if(!$post)  
        $post = &$GLOBALS['post'];  
    preg_match('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $first_img);  
    $first_img = $first_img[1];  
  
    if( empty($first_img) )  
        $first_img = get_bloginfo('template_url') .'/images/default.gif';  
  
    return $first_img;  
}

Вставить нужно в файл functions.php
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху