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

22

Estou tentando enfileirar um script JS apenas quando alguém está adicionando ou editando um tipo de postagem personalizado que criei chamado "receitas". 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, estou assumindo que preciso conectá-lo a uma função, mas não tenho idéia do que seria.

Obrigado antecipadamente!

    
por Javier Villanueva 14.07.2011 / 16:28
fonte

3 respostas

39

Você pode fazer assim (coloque 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 );
    
por mike23 14.07.2011 / 16:38
fonte
-2

Existe um gancho para isso e é simples de usar. Veja este tutorial para uma implementação de exemplo .

Editar

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

    
por Chip Bennett 14.07.2011 / 16:39
fonte
-3

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

Basicamente registre todos os seus scripts e estilos, em seguida, tenha instruções condicionais que envolvam suas instruções wp_enqueue_script ou wp_enqueue_style .

    
por FLOQ Design 31.03.2013 / 21:22
fonte