Intereting Posts
Что я должен добавить к этому коду, чтобы включить дополнительные CPT? как остановить слайд-шоу в галерее AJAX wp-mysql работает слишком медленно Получение нескольких пользовательских post_types в одном URL-адресе Ошибка базы знаний базы знаний WP – подкатегории и статьи, необходимо изменить WP_Query Повторное сообщение, как решить эту проблему Пользовательский фильтр для основного поиска: как исключить определенный post_type из результатов поиска Неустранимая ошибка: вызов неопределенной функции register_setting Создание тем для WordPress Admin Порт существующий сайт Bootstrap в WordPress? Комбинированные внешние JS-файлы с использованием полного кэша W3 результаты поиска для переменной в search.php Какой каталог должен быть доступен для записи для обновления wordpress? Как настроить отдельную страницу сообщения Как заставить WP правильно установить права доступа к каталогу?

Использование «Добавить с сервера» для загрузки по идентификатору сообщения

Я использую плагин Add From Server http://wordpress.org/extend/plugins/add-from-server/, в основном он импортирует / загружает изображение с сервера. В настоящее время плагин копирует изображения в формат месяца / года, но я хочу изменить его, сделав его скопированным в формате папки Post ID вместо месяца / года.

Я уже пробовал использовать плагин Custom Upload Dir, но он не работает с плагином Add From Server вместе. Может ли кто-нибудь настроить плагин Add From Server, чтобы он загружался по идентификатору сообщения?

Solutions Collecting From Web of "Использование «Добавить с сервера» для загрузки по идентификатору сообщения"

Вы можете попробовать добавить это в свой файл functions.php :

 add_filter( 'upload_dir','wpse87234_upload_dir'); function wpse87234_upload_dir($uploads){ // check if we are in the "Add From Server" media tab if (isset($_REQUEST['post_id']) && isset($_GET['tab']) && $_GET['tab']=="server") { $prefix="post_"; $post_id=(int)$_REQUEST['post_id']; // change the uploads info to our needs: $uploads['subdir']="/".$prefix.$post_id; $uploads['path']=$uploads['basedir'].$uploads['subdir']; $uploads['url']=$uploads['baseurl'].$uploads['subdir']; } return $uploads; } 

Это должно /wp-content/uploads/post_1234/ каталог как /wp-content/uploads/post_1234/ с post_id 1234.

анализировать

Из источника плагинов : wp_upload_dir() и wp_insert_attachment() , который использует update_attached_file() . Поэтому в основном плагин должен просто включать ваши настройки мультимедиа. Если он этого не делает, он имеет конфликт с каким-либо другим плагином или с настройками wp-config.php.

Фильтровать обратный вызов для спасения

Вы все равно можете использовать 'upload_dir' -фильтр. Он принимает один аргумент, который имеет следующие данные:

 array( 'path' => $dir, 'url' => $url, 'subdir' => $subdir, 'basedir' => $basedir, 'baseurl' => $baseurl, 'error' => false, ) 

Просто добавьте обратный вызов:

 add_filter( 'upload_dir', 'wpse87234_custom_upload_dir' ); function wpse87234_custom_upload_dir( $data ) { // Change everything you need. return array_merge( $data, array( 'path' => $data['dir'], 'url' => $data['url'], 'subdir' => $data['subdir'], 'basedir' => $data['basedir'], 'baseurl' => $data['baseurl'], 'error' => false, ) ); }