Estou tentando fazer algo com um gancho admin_init se - e somente se - o usuário estiver editando uma postagem (post.php) com o tipo de mensagem "event". Meu problema é que, embora o wordpress aponte para uma variável global chama $ post_type. se eu fizer:
global $post_type;
var_dump($post_type);
Retorna NULL.
mas se eu fizer isso:
global $pagenow;
var_dump($pagenow);
retorna minha página atual. ou seja, "post.php".
Eu olhei para essa função, $screen = get_current_screen();
mas isso não foi declarado até depois que os ganchos admin_init foram executados e, em seguida, é tarde demais.
Portanto, minha pergunta é: como faço para, no momento em que admin_init for executado, descobrir qual é o tipo de postagem que está sendo editada atualmente. se o URL for post.php?post=81&action=edit
então, como sei que tipo de post é postid = 81?
Obrigado Malthe
global $post
?Respostas:
fonte
Vou expandir a resposta do MiCc83. Existem algumas coisas que não seguem as perguntas originais do OP, mas no geral é uma ótima solução. Por exemplo, ele não funcionaria com um evento post_type porque você está verificando o post_type como 'post' na resposta.
A condição
'post' === get_post_type( $_GET['post'] )
na resposta anterior impediria que isso funcionasse em um tipo de evento 'event'. Você precisaria verificar o tipo de postagem 'event' em vez de 'post'.fonte