Donc, je veux changer mon répertoire de téléchargement. Je suis capable de le changer en utilisant:
add_filter( 'pre_option_upload_url_path', 'wpse_77960_upload_url' );
function wpse_77960_upload_url() {
return 'http://subdomain.example.com/files';
}
ou
update_option('upload_url_path', '/wp-content/uploads');
ou quelque chose du genre:
register_setting( 'media', 'upload_url_path', 'esc_url' );
Existe-t-il un moyen privilégié d’agir en termes de vitesse globale? J'ai essayé d'utiliser define( 'UPLOADS', 'http://absolute/path/to/dir' );
, mais il continuait à ajouter le site-url à tous les téléchargements.
Vous pouvez utiliser le filtre 'upload_dir'
add_filter('upload_dir', 'set_upload_folder', 999);
function set_upload_folder( $upload_data ) {
// absolute dir path, must be writable by wordpress
$upload_data['basedir'] = trailingslashit(ABSPATH). '/files';
$upload_data['baseurl'] = 'http://subdomain.wptest.com/files';
$subdir = $upload_data['subdir'];
$upload_data['path'] = $upload_data['basedir'] . $subdir;
$upload_data['url'] = $upload_data['baseurl'] . $subdir;
return wp_parse_args($upload_data, $upload_data);
}
Ce code fonctionnera peu importe si l’option des sous-dossiers année/mois est activée ou désactivée.
Notez que, bien sûr, vous devez configurer votre DNS pour qu'il pointe la nouvelle URL vers le bon dossier.