Intereting Posts
Невозможно вставить внутренние ссылки и ошибки меню. Единая страница входа для сайта Multisite / BuddyPress Как добавить функцию избранных изображений в тему, которая еще не встроена? Функция WordPress, например, is_category для подкатегории? is_subcategory? Изменить вход в систему CSS Как ограничить конкретный контент определенным пользователем Дополнительный текст в URL-адресе Как сохранить иерархию страниц с помощью wp_list_pages ()? WordPress фильтрует кепки в wp_title? (UpperCase изменен на верхний регистр) Как загрузить таблицу стилей в wp_head из пользовательского виджета? Как работают комментарии? Хостинг блога WordPress в виде подпапки с веб-сайта S3 Выделите еще один элемент навигации Как используется функция wp_get_update_data? сопоставить несколько URL-адресов для отображения домашней страницы без изменения URL-адреса, отображаемого в строке местоположения браузера

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

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

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

Вы можете попробовать добавить это в свой файл 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, ) ); }