Intereting Posts
Добавьте сразу несколько разделов, настроек и элементов управления в Настройщик Как исправить ошибку страницы 404 на тему Одиночные функции.php или разбиты на множество небольших файлов? вызывать php-файл из формы и использовать функции wp Правила Nginx для пользовательских постоянных ссылок, когда WordPress размещается в другом каталоге Как вставить форму Javascript непосредственно на страницу? Импорт MariaDB в Mysql в WordPress Как импортировать XML в WordPress как почтовые и пользовательские поля? Бесконечные перенаправления внезапно отключили сайт Пользовательский тип сообщения или просто использование настраиваемых полей Условный крюк Создание динамического имени класса в моем настраиваемом виджете Мне нужно удалить все сообщения с моей домашней страницы и создать статическую главную страницу Отображение сообщений WordPress из почтового и пользовательского типа сообщений в пользовательской таксономии Отфильтруйте встроенные классы wp_nav_menu, но сохраните пользовательский класс

Организация загруженных носителей с помощью wp_insert_post () и wp_handle_upload в соответствии с параметром времени

Я ретроактивно создаю сообщение с wp_insert_post () и прикрепляю к нему изображение с изображением. Мне нужно, чтобы изображение попало в папку, соответствующую дате публикации публикации.

Я использую параметр времени в функции wp_handle_upload, который должен перемещать файлы в каталоги в соответствии со значением параметра (см. В коде – $ upload_date – статическое значение на данный момент). Но прямо сейчас изображение перемещается в текущую папку year / month, игнорируя $ upload_date (пример: Предполагается, что 2007/11 , переход на 2012/12 ).

$output_dir = $uploads['path']; new_filepath = $output_dir.'/'.$file; // INSERT POST AND GET POST ID $my_post_id = wp_insert_post($my_post); // Copy image from my folder to WP Uploads rename($filename,$new_filepath); // required for wp_handle_upload() to upload the file $upload_overrides = array( 'test_form' => FALSE ); $upload_date = '2007/11'; // Using this date for testing purposes $movefile = wp_handle_upload( $new_filepath, $upload_overrides, $upload_date ); $wp_filetype = wp_check_filetype(basename($new_filepath), null ); $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => $post_title, 'post_content' => $post_content, 'post_status' => 'inherit' ); $attach_id = wp_insert_attachment( $attachment, $new_filepath, $my_post_id ); $attach_data = wp_generate_attachment_metadata( $attach_id, $new_filepath ); wp_update_attachment_metadata( $attach_id, $attach_data ); // ADD FEATURED IMAGE TO THE POST add_post_meta($my_post_id, '_thumbnail_id', $attach_id); 

Перед копированием файлов ( rename() ) в конечный пункт назначения я устанавливаю параметр времени для wp_upload_dir() (вместо того, чтобы пытаться wp_handle_upload() ), и теперь он передает файлы в соответствующие каталоги.

 $uploads = wp_upload_dir( $upload_date ); $output_dir = $uploads[ 'path' ]; rename( $filename, $new_filepath );