Minule som Vám ukázal, ako si vytvoriť rôzne veľkosti obrázkov nahrávaných príloh. Dnes Vám ukážem, ako prílohy ukladať do rôznych adresárov na základe toho, že k akému typu príspevku sú priradené.
Príklad uvediem zase pre vlastný typ obsahu galeria
. Ku každej jednej galérii patrí X obrázkov a je vhodné, aby obrázky z jednej galérie boli v jednom adresári.
function dh_upload_rename($array) { $post_id = $_POST['post_id']; // ak sa nejedná o prílohu k typu obsahu 'galeria' tak nemenime nic if(!is_post_type('galeria', $post_id)) return $array; // inac sa pokusime presunut obrazok do podaresara 'galerie/post_id', kde post_id je ID galerie $upload_dir = wp_upload_dir(date('Y/m', get_post_time('U', false, $post_id))); $new_name = $upload_dir['basedir'] . '/galerie/' . $post_id . '/' . basename($array['file']); @mkdir($upload_dir['basedir'] . '/galerie/' . $post_id); if(rename($array['file'], $new_name)) { $array['file'] = $new_name; $array['url'] = $upload_dir['baseurl'] . '/galerie/' . $post_id . '/' . basename($array['file']); } return $array; } add_action('wp_handle_upload', 'dh_upload_rename');
Toto funguje pre prílohy nahrávané cez administračné rozhranie WordPressu. V prípade, že užívateľom umožňujem vytvárať príspevky s prílohami (napríklad nahrané fotky) priamo z web stránky (nie admini rozhrania), tak vtedy musím súbor manuálne umiestniť tam kam patrí.
Pridaj komentár