ID записи, для которой загружается файл
Есть код
add_filter('wp_handle_upload_prefilter', 'upload_prefilter'); add_filter('wp_handle_upload', 'handle_upload'); function upload_prefilter( $file ) { add_filter('upload_dir', 'custom_upload_dir'); return $file; } function handle_upload( $fileinfo ) { remove_filter('upload_dir', 'custom_upload_dir'); return $fileinfo; }
Как в функции custom_upload_dir() можно получить ID записи, к которой загружается файл?
Раньше он находился в глобальной переменной $_REQUEST по индексу post_id. В 4.9.1 такого индекса у переменной нет (в логе сообщение Undefined index: post_id ).
Какие ещё есть методы?
Отвечу на собственный вопрос - может кому пригодится. Не самый изящный, но работающий способ получения ID родительской записи для случаев асинхронной обработки (загрузка медиафайлов из админки, редактирование слага и т.д.)
Переменные получаются из url_query в адресной строке. В общем случае при успехе будут получены две переменные $post_type и $post.