Я не проверял это, но это может дать вам довольно далеко:
function user_upload_path($path = null) {
global $current_user;
get_currentuserinfo();
$user_path = sanitize_file_name($current_user->user_login);
return sprintf('%s/uploads/%s', WP_CONTENT_DIR, $user_path);
}
add_filter('pre_option_upload_path', 'user_upload_path');
function user_upload_url_path($path = null) {
global $current_user;
get_currentuserinfo();
$user_path = sanitize_file_name($current_user->user_login);
return sprintf('%s/uploads/%s', WP_CONTENT_URL, $user_path);
}
add_filter('pre_option_upload_url_path', 'user_upload_url_path');
Я решил эту проблему, добавив фильтры к pre_option_upload_path
и pre_option_upload_url_path
, добавив, таким образом, имя пользователя в конце пути и URL.
Пока что не проверялось, я не пробовал загружать. Я подтвердил, что wp_content_url()
вернет и путь, и URL, содержащий имя пользователя. Я решил поставить имя пользователя до даты, так как это проще всего сделать, но я получаю, что вы можете добиться обратного с помощью фильтра user_upload_dir
и некоторого регулярного выражения.