jQuery UI in Admin (Prática recomendada?)

3

Talvez alguém tenha experiência anterior com isso, mas quando incluo o arquivo jQuery UI 1.8.9 em meu admin_head , quebro a funcionalidade do painel (ou seja, pop-up para adicionar imagem em destaque, arrastar e soltar itens de menu, etc.). Se eu incluir 1.7.2 , ele não será mais quebrado, mas meu calendário pequeno não funcionará mais.

Então, minhas perguntas são, atualmente (3.0.x), qual é a melhor maneira de implementar a interface do usuário do jquery nas páginas de administração sem quebrar tudo?

( Outras informações: tentando adicionar o datepicker a um campo dentro do meu tipo de postagem personalizado )

Obrigado!

Noel

    
por Noel Tock 10.02.2011 / 17:16

3 respostas

6

O WP 3.1 virá com o jQuery UI 1.8, então a solução mais fácil seria esperar.

Além disso, parece que você está exibindo a tag de script diretamente. Você deve tentar cancelar o registro da versão da jQuery UI incluída e substituí-la por sua própria.

Isso é feito usando wp_deregister_script () e wp_enqueue_script ().

    
por scribu 10.02.2011 / 17:28
4

Obrigado novamente, scribu, aqui o resultado de trabalho para qualquer pessoa interessada (custom-admin é apenas o meu js para o datepicker):

function wpse_9080_admin_head()
{
    global $pagenow;

    // Example of enqueue only in Profile page
    // based on scribu's suggestion in the comment bellow
    if ( 'profile.php' == $pagenow )
    {
            wp_enqueue_style('ui-datepicker', get_bloginfo('template_url') . '/css/jquery-ui-1.8.9.custom.css');
            wp_deregister_script('jquery-ui-core');
            wp_enqueue_script('jquery-ui', get_bloginfo('template_url') . '/js/jquery-ui-1.8.9.custom.min.js', array('jquery'));
            wp_enqueue_script('ui-datepicker', get_bloginfo('template_url') . '/js/jquery.ui.datepicker.min.js');
            wp_enqueue_script('custom_script', get_bloginfo('template_url').'/js/custom-admin.js', array('jquery'));
    }
}

add_action('admin_init', 'wpse_9080_admin_head');
    
por Noel Tock 10.02.2011 / 19:31
0

Qual seria o caminho certo para carregar o jQuery UI somente na página de tipo de postagem personalizada?

global $pagenow
if ($pagenow == 'post-new.php?post_type=events') {
// enqueue scripts here
}

é este o caminho correto?

    
por Mamaduka 13.02.2011 / 19:48