Automatikus képfeltöltés és bejegyzéshez csatolás

Sziasztok!











Egy olyan feladatom lenne, hogy nagy mennyiségű képet kellene automatikusan feltölteni és bejegyzéshez társítani. A file nevek megegyeznek a bejegyzés egyik custom field értékével.











Alapban az új média hozzáadása 0-ás post id-vel dolgozik, ezt szeretném megvariálni, hogy a file nevéről tudja, hogy melyik posthoz tartozik, majd feltöltés után bélyegképként már használja is.











Kérdésem, hogy merre induljak, van e valami komolyabb leírás a media-upload.php “hekkeléséről”.

én ezt más oldalról közelítettem meg, bár tény, hogy elég sok kódolás kellett hozzá…











speciális galériába kellett képeket belepattintatom nagyonnagy nagy nagy kicsi kicsi kicsi kicsi elrendezésben.





a feltöltéshez nem nyúltam, csak simán feltöltöttem a képeket, viszont a megjelenítésnél megszámoltam melyik hova kerüljön, és aszerint jelenítettem meg őket.





azaz nagyonnagykép eredeti méretben így.





nagykép emígy, kicsi pedig marad thumbnail.











szóval ha a feltöltés sorrendjében tudod rendezni, hogy melyik képet hova akarod pakolni, akkor ez egy nem lehetetlen küldetés…

az én verzióm egyszerű mint egy [amit gondolsz :)]





Szóval:




  1. filenevek cseréje ilyen formátumra: filenev_post[id]




  2. rakd fel ezt http://wordpress.org/extend/plugins/add-from-server/




  3. FTP-n told fel a file-okat.




  4. A loopban megjeleníted így: filenev[kiterjesztesnelkul]_post[id].kiterjesztés

A filenevek cseréje nem kivitelezhető, kb. 10.000 képről van szó.











Ötletem, hogy a média menüben feltöltöm a képeket, és utána adatbázis szinten kigyűjtöm az attachment típusú postokat, aminek nincs post_parentje. A title érték elvileg csak a számsor lesz ami kell nekem kiterjesztés nélkül.











Lecsekkolom, hogy melyik postnak van olyan meta_value értéke a megadott kulcson, mint a title érték, így megkapom azt a post ID-t amihez csatolni kell a képet.











Adatbázisba belekeverem és elvileg működnie kell, bár még nem próbáltam, esetleg a wp_insert_attachment funkcióval megbolondítom.











Járható lehet ez az út?

Kipróbáltam és működik :smiley:





Igaz csak 1 file 1 post felállásban, de gondolom (ha valóban minden filenév egyedi, ahogy azt mondták) sokkal is menni fog.











Így:



Code:



function kepek() {

global $wpdb;

$kepek = $wpdb->get_results("select * from $wpdb->posts where post_type='attachment' and post_parent=0");

foreach ($kepek as $k)

{

$ean = $k->post_title;

$vane = get_posts('meta_key=ean&meta_value='.$ean);

if (!empty($vane)) {

echo 'képid: '.$k->ID.' postid: '.$vane[0]->ID;

$wpdb->update($wpdb->posts,array('post_parent'=>$vane[0]->ID),array('ID' => $k->ID));

add_post_meta($vane[0]->ID,'_thumbnail_id',$k->ID,true);

}

}

}








persze ez most csak egy teszt verzió, szóval pár ellenőrzés még menni fog bele. Plusz a bejegyzés elejébe még a közepes méretű képet is be fogom játszani.