WordPress : Media Uploader dans un chemin personnalisé
Je crée un générateur CSS dans mon thème WordPress et je souhaite également pouvoir enregistrer des skins personnalisés avec des images. Mon problème est que j’ai une hiérarchie comme /skins/custom-skin/images pour les images téléchargées, mais comme vous le savez, WordPress Media Uploader les place par défaut dans le dossier des téléchargements, triés par date.
Ma question est la suivante : puis-je spécifier un chemin pour enregistrer l’image à chaque fois qu’une nouvelle image est téléchargée ?
Solution n°1 trouvée
Dans,
Dashboard -> Settings -> Media
Vous pouvez décocher le,
?Organize my uploads into month- and year-based folders
…et éventuellement modifier le chemin des téléchargements (mais cela affecterait bien sûr tous les téléchargements).
Vous pouvez éventuellement vous connecter au upload_dir
filtre et modifier le chemin de téléchargement pour un fichier donné post_type
ou pour un autre scénario donné en fonction de l’endroit et des conditions dans lesquelles vous effectuez ces téléchargements.
add_filter( 'upload_dir', 'css_upload_dir' );
function css_upload_dir(){
global $post;
$post_id = $post->ID;
$upload = wp_upload_dir();
if( "post_type" == get_post_type($post_id) ){
$custom_dir = '/skins/custom-skin/images';
$upload['path'] = $upload['basedir'] . $custom_dir;
$upload['url'] = $upload['baseurl'] . $custom_dir;
return $upload;
}
}
Cela devrait fonctionner, bien que je ne l’aie pas testé, donc je vais au-dessus de ma tête pour le moment.
0 commentaire