Como enfileirar scripts em páginas personalizadas de adição / edição de postagem?


23

Estou tentando enfileirar um script JS somente quando alguém está adicionando ou editando um tipo de postagem personalizado que criei chamado "recipes". Atualmente, o script funciona bem quando faço isso:

if (is_admin()){
    wp_enqueue_script( 'my-script' );
}

Mas isso o carrega em todas as páginas de administração, suponho que precise conectá-lo a uma função, mas não tenho ideia do que seria.

Desde já, obrigado!


Para uso futuro, uma pergunta semelhante foi respondida com o que considero uma maneira mais fácil: wordpress.stackexchange.com/q/34894/93169
Frits

Respostas:


43

Você pode fazer assim (coloque no seu functions.php):

function add_admin_scripts( $hook ) {

    global $post;

    if ( $hook == 'post-new.php' || $hook == 'post.php' ) {
        if ( 'recipes' === $post->post_type ) {     
            wp_enqueue_script(  'myscript', get_stylesheet_directory_uri().'/js/myscript.js' );
        }
    }
}
add_action( 'admin_enqueue_scripts', 'add_admin_scripts', 10, 1 );

Também posso enfileirar o estilo usando esta função?
Sisir

1
@Sisir Use o "admin_print_styles-{$page}"gancho. $pagepode conter o add_(sub)menu_page()código completo e ser usado para segmentar a página ao usá-lo @see wp_enqueue_style().
kaiser

Uma maneira mais atualizada de fazer isso: wordpress.stackexchange.com/a/34897/93169 (também passa a ser um pouco mais fácil graças às alterações de funcionalidade no wordpress ...)
Frits

-2

Há um gancho para isso, e é simples de usar. Veja este tutorial para um exemplo de implementação .

Editar

Justin mudou seus tutoriais do DevPress para seu site pessoal. Aqui está o link atualizado para o tutorial .


A página listada se foi. Aqui está um espelho / arquivo na máquina Wayback .
Robert K

Obrigado por isso. Atualizei minha resposta com um link atual.
Chip Bennett

3
Por que não postar a solução aqui e vincular o tutorial como fonte ...
Christine Cooper

-3

O Rootstheme (que é baseado no Twitter Bootstrap) tem uma maneira muito elegante de carregar scripts, dependendo do tipo de página / postagem, como visto na função roots_scripts , que pode ser vista aqui no github .

Registre basicamente todos os seus scripts e estilos e, em seguida, tenha instruções condicionais que agrupam suas instruções wp_enqueue_script ou wp_enqueue_style .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.