WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Самая быстрая Тема-конструктор для WordPress

Изменить структуру папок для фото (медиа) в WP

На сайте более10 000 постов, в каждом от 3 до 50 фото.

Папка по месяцам , порядком поднадоели, сложно бэкапить и редактировать ( бывают проблемки которые нужно поправить ручками ) .

Посоветуйте в как лучше, хранить?? , думаю по ID записи, но нужна будет какаяето иерархия, причем по годам не удобно, был пост 2019 года с файлами, потом обновил на дату 2020, и файли уже в папках с разными годами.

в итоге хранить буду: на 10000 id создается новая папка, в коде могут быть ошибки, так как вырезался из большого плагина

wp-uploads\gallery\10000\post_id\

Пока что так

// ОБЯЗАТЕЛЬНО для картинок, если наблюдаются глюки, нужно юзать 
// update_attached_file()
// идет небольшой конфликт с папками по годам "_wp_attached_file" , не зависимо от вкл или выкл 
add_filter( 'upload_dir', 'ftp_domain_url_in_db' );
function ftp_domain_url_in_db( $path ){

	if ( isset($_REQUEST['post_id']) ) { 

		$post_parent_id = $_REQUEST['post_id'];
		$upl_folder_top_id =  ceil( $post_parent_id / 10000 ) * 10000;

		if ( !file_exists("абсолютная папка загрузки". $upl_folder_top_id ) ) {
			mkdir("абсолютная папка загрузки". $upl_folder_top_id, 0755);
		}

		if ( !file_exists("абсолютная папка загрузки". $upl_folder_top_id ."/". $post_parent_id ) ) {
			mkdir("абсолютная папка загрузки". $upl_folder_top_id ."/". $post_parent_id, 0755);
		}

		$path['path']    = $_SERVER['DOCUMENT_ROOT'] .  "/wp-content/uploads/gallery/" .$upl_folder_top_id ."/". $post_parent_id;
		$path['url']     = "https://". $_SERVER['HTTP_HOST'] ."/wp-content/uploads/gallery/" .$upl_folder_top_id ."/". $post_parent_id;
		$path['subdir']  = "";
		$path['basedir'] = $_SERVER['DOCUMENT_ROOT'] .  "/wp-content/uploads/gallery/" .$upl_folder_top_id ."/". $post_parent_id;
		$path['baseurl'] = "https://site.com"."/wp-content/uploads"; 
	}

	return $path;
}
Заметки к вопросу:
Kama 2 мес назад

В чем вообще вопрос, вот ты сделал как тебе нужно (логика по своему интересная и наверное полезная), чего еще нехватает?

kolshix 2 мес назад

Все в порядке, всего хватает. Всегда стараюсь перед освоением темы, на перед задать вопрос, чтоб не проживать всякие нюансы.

Kama 2 мес назад

Ясно, хороший подход smile

0
kolshix
2 месяца назад 619
  • 0

    ИМХО. Начальная иерархия должна быть по годам (или/и по авторам). По разрядности делать не очень удобно.

    причем по годам не удобно, был пост 2019 года с файлами, потом обновил на дату 2020, и файли уже в папках с разными годами.

    тут нужно делать привязку либо к дате создания поста, либо к дате изменения и перемещать все файлы постов в одну папку.

    kolshix 2 мес назад

    По годам, дате создания - проблему описал, иногда приходилось дату создания корректировать , и картинки кидало по разным годам.

    По авторам:. Я один автор. )

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация