Я пытаюсь сделать что-то с хуком admin_init, если - и только если - пользователь редактирует пост (post.php) с типом поста "событие". Моя проблема в том, что, хотя WordPress указывает на глобальную переменную вызывает $ post_type. если я сделаю:
global $post_type;
var_dump($post_type);
Возвращает NULL.
но если я сделаю это:
global $pagenow;
var_dump($pagenow);
он возвращает мою текущую страницу. то есть "post.php".
Я посмотрел на эту функцию, $screen = get_current_screen();
но она не объявляется до тех пор, пока не будут запущены хуки admin_init, а потом уже поздно.
Поэтому мой вопрос: как мне, к моменту запуска admin_init, узнать, какой тип поста редактируется в данный момент? если URL-адрес post.php?post=81&action=edit
тогда, как я могу узнать, что тип поста postid = 81?
Спасибо мальте
global $post
?Ответы:
источник
Я собираюсь расширить ответ MiCc83. Есть несколько вещей, которые не следуют первоначальным вопросам ОП, но в целом это отличное решение. Например, он не будет работать с событием post_type, потому что вы проверяете post_type как «post» в ответе.
Условие
'post' === get_post_type( $_GET['post'] )
в предыдущем ответе помешало бы этому работать с типом записи 'событие'. Вам нужно будет проверить тип сообщения «событие» вместо «сообщение».источник