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:
- filenevek cseréje ilyen formátumra: filenev_post[id]
- rakd fel ezt http://wordpress.org/extend/plugins/add-from-server/
- FTP-n told fel a file-okat.
- 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 
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:
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.