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.