Поддержка Плагины Каждой статье отдельную папку в медиа-файлах

  • Решено genteelknight

    (@genteelknight)


    Как сделать так, чтобы для каждой записи в папке wp-content/uploads/ был создан отдельный каталог? Есть ли для этого какой-либо плагин или еще что-нибудь?

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Можно добавить подобный фрагмент в functions.php активной темы:

    function custom_upload_path( $uploads ) {
    	if ( ! isset( $_REQUEST['post_id'] ) )
    		return $uploads;
    
    	$uploads['path'] .= '/' . $_REQUEST['post_id'];
    	$uploads['url'] .= '/' . $_REQUEST['post_id'];
    
    	if ( ! wp_mkdir_p( $uploads['path'] ) ) {
    		$message = sprintf( __( 'Unable to create directory %s. Is its parent directory writable by the server?' ), $uploads['path'] );
    		return array( 'error' => $message );
    	}	
    
    	return $uploads;
    }
    add_filter( 'upload_dir', 'custom_upload_path' );

    Для файлов, прикреплённых к записи, в wp-content/uploads будет создаваться подкаталог с именем, равным ID записи.

    Модератор Yuri

    (@yube)

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

    Стоит иметь в виду, что если записей будет много (десятки тысяч), могут возникнуть серьезные проблемы.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    К счастью, на сайте, где был реализован этот приём, записей не так много 🙂

    Стоит иметь в виду, что если записей будет много (десятки тысяч), могут возникнуть серьезные проблемы.

    Но можно ж добавить год/месяц/ перед $_REQUEST['post_id'];?

    (я, к сожалению, без манов по пхп\ВП не скажу как это сделать.)

    Модератор Yuri

    (@yube)

    Можно. Но это уже будет немного другое решение 🙂

    Sergey Biryukov, спасибо за код.

    Юрий, а какие серьезные проблемы?

    Модератор Yuri

    (@yube)

    Сначала будет тормозить, потом может совсем перестать работать. Зависит от хост-системы и её настроек.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «Каждой статье отдельную папку в медиа-файлах» закрыта для новых ответов.