Am început să folosesc din ce în ce mai des acest cod, mai ales cu lansarea Wordpress 2.9, este valabil și pentru cei care foloseau custom fields, sau cei care puneau o imagine în articol, aranjarea făcându-se manual, eu folosesc Timthumb pentru a micșora imaginile, dar și pentru crop fix în dimensiune a oricărei imagini.
Pentru a folosi TimThumb descărcați fisierul de aici, urcați-l în folderul temei voastre de wodpress, creați un folder cache lângă el după care acordații permisiunile 777 (chmode).
Așteptați un pic, pentru vizualizare corectă, dacă se încarcă mai greu.
Modalitatea este ușoară și clar nu este descoperită de mine, doar grupată din mai multe metode, nu am verificat dacă mai este pe undeva, așa că nu săriți pe mine.
![]()
Dacă folosiți wordpress 2.9, pentru a activa Post thumbnail, în tema voastră, căutați functions.php, adăugați codul următor înainte de tagul de închidere php “>” :
if ( function_exists( 'add_theme_support' ) ) add_theme_support( 'post-thumbnails' );
Pentru a obține prima imagine (cod necesar pentru a treia metodă) din articol și a o afișa este necesar următorul cod tot in funcțions.php din temă:
function prima_imagine() {
global $post, $posts;
$bloginfo = get_bloginfo('template_url');
$prima_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$prima_img = $matches [1] [0];
if(empty($prima_img)){ //Adaugă o imagine default pentru articole care nu au nici un fel de imagine.
$prima_img = $bloginfo.'/images/default-image.jpg'; //calea către imagine, folderul images din tema
}
return $prima_img;
}
În cazul în care aveți un alt nume la custom field, redenumiți ‘thumb’ peste tot din codul urmatorul cu numele custom filed-ului care îl aveți. De ținut minte că TimThumb nu merge decât cu imagini găzduite la voi pe server, imagini locale, nu merge cu imagini găzduite pe alte situri sau hosturi de imagini.
Codul cu TimThumb:
<?php $thumb = get_post_meta($post->ID, 'thumb', true); ?> <!--// Încărcăm custom field-ul, trebuie încarcat primul pentru verificarea ulterioară -->
<?php if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail()) ) { ?>
<!--// Verifică dacă există funcția has_post_thumbnail, și dacă are atașat un thumbnail, valabil pentru Wordpress 2.9 + -->
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
<?php the_post_thumbnail('thumbnail'); ?><!--// Dacă are imagine, o afișează -->
</a>
<?php } elseif ($thumb != '') { ?> <!--// Dacă nu are imagine, caută dacă este încărcat custom field-ul thumb -->
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
<img src="<?php bloginfo('template_url'); ?>/timthumb.php?src=<?php echo($thumb); ?>&h=150&w=150&zc=1&q=80" alt="<?php the_title_attribute(); ?>" />
</a><!--// Dacă există custom field thumb îl afișează -->
<?php } else { ?> <!--// și dacă nu este nici una de mai sus, caută prima imagine din articol, si o afișează -->
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
<img src="<?php bloginfo('template_url'); ?>/timthumb.php?src=<?php echo prima_imagine() ?>&h=150&w=150&zc=1&q=80" alt="<?php the_title_attribute(); ?>" />
</a><!--// afișează prima imagine din articol, dacă nu are una, afișează o imagine default. -->
<?php } ?>
Codul fără TimThumb:
<?php $thumb = get_post_meta($post->ID, 'thumb', true); ?> <!--// Încărcăm custom field-ul, trebuie încarcat primul pentru verificarea ulterioară -->
<?php if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail()) ) { ?>
<!--// Verifică dacă există funcția has_post_thumbnail, și dacă are atașat un thumbnail, valabil pentru Wordpress 2.9 + -->
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
<?php the_post_thumbnail('thumbnail'); ?><!--// Dacă are imagine, o afișează -->
</a>
<?php } elseif ($thumb != '') { ?> <!--// Dacă nu are imagine, caută dacă este încărcat custom field-ul thumb -->
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
<img src="<?php echo($thumb); ?>" alt="<?php the_title_attribute(); ?>" />
</a><!--// Dacă există custom field thumb îl afișează -->
<?php } else { ?> <!--// și dacă nu este nici una de mai sus, caută prima imagine din articol, si o afișează -->
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
<img src="<?php echo prima_imagine() ?>" alt="<?php the_title_attribute(); ?>" />
</a><!--// afișează prima imagine din articol, dacă nu are una, afișează o imagine default. -->
<?php } ?>
Codul este compatibil cu versiunile mai vechi de wordpress, pentru cei care folosesc custom fields, și iată cum puteți rămâne cu tema pe care o aveți acum pe versiuni de wordpress mai vechi, si in cazul unui update, puteți folosi noua metodă de thumbnails din wordpress 2.9 fară să fiți nevoiți a modifica vechiile articole.
Baftă :) …
- Category: Design, Web, Web design
- 5 Comentarii
- February 1, 2010






Îţi mulţumesc, de când caut chestia asta!
Cu plăcere :) .
merci chiar aveam nevoie :)
Welcome…
[...] . – Numere personalizate la vodafone . Crok`s – Paispe . – A fost sa fie . Grafiko – imagini thumb pentru articole in 3 moduri . – Angajatorul perfect contra angajatul ideal . GrimCris – Dansul e o pasiune scumpa . – [...]