Vreau sa va zic cateva cuvinte despre noua functie care a fost integrata in wordpress incepand cu versiunea 2.9, mai bine zis sa va arat de ce probleme m-am lovit eu si cum le poti rezolva.

Featured Image este o functie ce afiseaza cu mai multa usurinta acele thumbnail-uri in posturi fara a fi setate custom field-uri, linkuri si alte chestii de genu. Bineinteles ca acest lucru este posibil doar daca tema suporta astfel de functii si este compatibila cu ultimele versiuni de wordpress. Modul de setare a imaginilor pentru posturi este foarte simplu. La adaugarea unui nou post in partea din dreapta este afisat un nou tab numit “Featured Image”. Daca dai click pe linkul “Set featured image” se deschide media library-ul din wordpress unde poti uploada imaginea din calculator si o poti afisa prin “Use as featured image”.

M-a mancat bine undeva si am folosit asta pentru site-ul unui client [alexantomob.ro]. Toate imaginile posturilor au fost setate la inceput cu aceasta minunatie de functie. Dupa un timp a trebuit sa mut site-ul pe un alt server, am mutat baza de date, fisierele, imagini si tot ce era necesar. Probleme?? Imaginile featured ale posturilor nu erau afisate si, culmea, nici continutul posturilor nu puteau fi vizualizate. De ce?

Imaginile setate ca featured la publicarea postului se afiseaza cu urmatorul cod:

<?php
	$images = get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 999 ) );
	if ( $images ) :
	$total_images = count( $images );
	$image = array_shift( $images );
	$image_img_tag = wp_get_attachment_image( $image->ID, 'thumbnail' );
?>

De ce nu afisa nici continutul postului?

Aici m-a ajutat putin Cipy si vreau sa-i multumesc pentru asta. Pentru ca prima functie care ruleaza la incarcarea fisierului este “get_children” si cum wordpress-ul fusese mutat si setarile pentru featured pierdute pe drum (lucru pe care nu-l inteleg deloc cum?!?), se incerca mereu gasirea imaginii setate. Cum ea nu exista…incerca iar, iar si iar…pana la nesfarsit.

Rezolvare: Eu am gasit urmatoarea solutie (buna sau nu..pe mine m-a ajutat sa aduc inapoi cele 1500 de poze si sa le pot afisa din nou acolo unde trebuie si am nevoie de ele):
Ce trebuie sa facem?
1. Daca wordpress-ul a fost mutat in primul rand trebuiesc aduse inapoi in media library toate imaginile din folderul uploads. Lucru asta a fost posibil cu ajutorul pluginului Add From Server.
2. Cum functia de mai sus nu mai lucra cum trebuie, pentru ca nu gasea ceea ce ii era necesar, a trebuit sa gasesc un alt mod (mai babesc) de a afisa aceste imagini setate ulterior si acest lucru l-am facut cu urmatorul cod:

<?php if ( function_exists("has_post_thumbnail") && has_post_thumbnail() )
{ the_post_thumbnail(array(), array("class" => "alignleft post_thumbnail")); }
?>

3. Cei doi pasi de mai sus au legatura unul cu altu. Practic: am gasit un alt cod care sa poata afisa imaginile featured -> imaginile au fost aduse inapoi in library -> ca sa poata fi setate din nou ca featured image.

Asadar, daca aveti de gand sa folositi acest mod de a afisa thumbnail-uri in posturi, ar trebui sa stati bine pe ganduri si sa stiti ca odata schimbata tema/server-ul aceste imagini nu vor mai fi afisate, probabil, pana la gasirea unor solutii.