¿Cómo poner en cola los scripts en las publicaciones personalizadas para agregar / editar páginas?

22

Estoy tratando de poner en cola una secuencia de comandos JS solo cuando alguien está agregando o editando un tipo de publicación personalizada que creé llamada "recetas". Actualmente el script funciona bien cuando hago esto:

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

Pero esto lo carga en todas las páginas de administración, supongo que debo conectarlo a una función, pero no tengo idea de lo que sería.

Gracias de antemano!

    
pregunta Javier Villanueva 14.07.2011 - 16:28

3 respuestas

39

Puedes hacerlo de esta manera (coloca tu 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 );
    
respondido por el mike23 14.07.2011 - 16:38
-2

Hay un gancho para eso, y es muy fácil de usar. Consulte este tutorial para ver un ejemplo de implementación .

Editar

Justin movió sus tutoriales de DevPress a su sitio personal. Aquí está el enlace actualizado para el tutorial .

    
respondido por el Chip Bennett 14.07.2011 - 16:39
-3

Rootstheme (que se basa en Twitter Bootstrap) tiene una forma realmente elegante de cargar scripts según el tipo de página / publicación como se ve en La función roots_scripts que puede verse aquí en github .

Básicamente, registre todos sus scripts y estilos, luego tenga sentencias condicionales que envuelvan sus wp_enqueue_script o wp_enqueue_style .

    
respondido por el FLOQ Design 31.03.2013 - 21:22

Lea otras preguntas en las etiquetas