WordPress как на ладони
wordpress jino

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 ).

Какие ещё есть методы?

Заметки к вопросу:
Andrew 7 месяцев назад

Отвечу на собственный вопрос - может кому пригодится. Не самый изящный, но работающий способ получения ID родительской записи для случаев асинхронной обработки (загрузка медиафайлов из админки, редактирование слага и т.д.)

parse_str (parse_url ($_SERVER['HTTP_REFERER'], PHP_URL_QUERY) );

Переменные получаются из url_query в адресной строке. В общем случае при успехе будут получены две переменные $post_type и $post.

0
Andrew
91
7 месяцев назад

Нет ответов на этот вопрос.

    На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация