Primeiro, presumo que você está usando wp_enqueue_script()
para carregar seus scripts certo?
Dito isso, se eu entendi sua pergunta, o que você precisa é algo como o seguinte . Você terá que editá-lo para seus detalhes, é claro, mas ele te dará o quadro geral.
Estamos conectando admin_init
com a função load_my_script()
para testar o global $pagenow
para uma correspondência com a página de administração edit.php
e o global $typenow
para ver se o tipo de postagem é o desejado .
O resto são apenas detalhes que você pode ler sobre aqui se precisar saber mais:
<?php
add_action('admin_init','load_my_script');
function load_my_script() {
global $pagenow, $typenow;
if ($pagenow=='edit.php' && $typenow=='my-custom-type') {
$ss_url = get_bloginfo('stylesheet_directory');
wp_enqueue_script('jquery');
wp_enqueue_script('my-custom-script',"{$ss_url}/js/my-custom-script.js",array('jquery'));
}
}
UPDATE
Estou respondendo a sua atualização. Infelizmente ( por qualquer motivo ) $typenow
não tem um valor durante admin_init
, então você precisará obter o post_type
carregando a postagem com base no parâmetro de URL 'post'
à medida que você veja no exemplo a seguir (eu copiei a linha acima e a linha abaixo do seu exemplo para que você possa ver onde colocá-la):
<?php
global $pagenow, $typenow;
if (empty($typenow) && !empty($_GET['post'])) {
$post = get_post($_GET['post']);
$typenow = $post->post_type;
}
if (is_admin() && $pagenow=='post-new.php' OR $pagenow=='post.php' && $typenow=='events') {
P.S. Quanto às suas outras perguntas, poste-as como uma nova pergunta no site para que eu ou outras pessoas respondam. Como estamos trabalhando muito para ajudá-lo, por favor, tome o cuidado de dar ao seu título o melhor título possível e, por favor, escreva suas perguntas da forma mais clara e sucinta possível, com boa formatação e bom inglês. Se você fizer isso, ele ajudará com os mesmos problemas a reconhecer sua pergunta como sendo semelhante ao que eles precisam e isso tornará mais fácil para nós responder às suas perguntas.
Eu pergunto isso a você ( e de todos os outros que fazem perguntas no WordPress Answers ) como um favor em troca de esforço para responder suas perguntas porque eu e os outros moderadores queremos fazer O WordPress responde a um tremendo recurso para a comunidade em vez de outro fórum desleixado que é difícil de ler e difícil de encontrar respostas como muitos outros sites na web.
UPDATE # 2
Eu achei que você poderia ter tido problemas de precedência de operador em sua instrução if, mas quando fiz o teste antes de não me deparar com ele. Se ele está se comportando como sua palavra, então você quase certamente o faz, em vez disso, tente isso (desculpe, eu não tenho tempo para testar isso agora para garantir com certeza que funciona):
<?php
add_action('admin_init','load_my_script');
function load_my_script() {
global $pagenow, $typenow;
if (empty($typenow) && !empty($_GET['post'])) {
$post = get_post($_GET['post']);
$typenow = $post->post_type;
}
if (is_admin() && $typenow=='events') {
if ($pagenow=='post-new.php' OR $pagenow=='post.php') {
$ss_url = get_bloginfo('stylesheet_directory');
wp_enqueue_script('jquery');
wp_enqueue_script('my-custom-script',"{$ss_url}/js/my-custom-script.js",array('jquery'));
}
}
}