Según tengo entendido, se supone que las secuencias de comandos de administrador deben registrarse y colocarse en cola a través del admin_enqueue_scripts
gancho y todas las demás secuencias de comandos, por wp_enqueue_scripts
lo que he configurado las siguientes funciones para registrar y poner en cola todas mis secuencias de comandos de una manera clara y organizada.
Mi pregunta es, ¿qué sucede si necesito ciertos scripts (por ejemplo, jquery validate plugin) tanto en admin como en el front end? ¿Cuál es el método recomendado para registrar y poner en cola el script en este caso? regístrelo dos veces con un identificador $ diferente o regístrelo wp_enqueue_scripts
solo y, de ser así, ¿no existe el riesgo de que no se llame cuando sea necesario? (Quiero decir, ¿por qué admin_enqueue_scripts
existiría si no para hacer que esos scripts estén disponibles en un momento anterior?
Realmente agradecería que alguien me explique esto para comprender completamente los matices de los scripts en cola en wp. Gracias
Mi código:
// REGISTER ALL NON-ADMIN SCRIPTS
add_action( 'wp_enqueue_scripts', 'register_all_non_admin_scripts' );
function register_all_non_admin_scripts() {
wp_register_script( ... );
wp_register_script( ... );
}
// ENQUEUE NON-ADMIN SCRIPTS CONDITIONALLY
add_action( 'wp_enqueue_scripts', 'enqueue_scripts_where_required' );
function enqueue_scripts_where_required() {
// scripts to be loaded at all times
wp_enqueue_script( '' );
// scripts to be loaded conditionaly
if( is_page( '' ) ) {
wp_enqueue_style( '' );
}
}
// REGISTER ALL ADMIN SCRIPTS
add_action( 'admin_enqueue_scripts', 'register_all_admin_scripts' );
function register_all_admin_scripts(){
wp_register_script( ... );
wp_register_script( ... );
}
// ENQUEUE ADMIN SCRIPTS
add_action( 'admin_enqueue_scripts', 'enqueue_admin_contact_cpt_js' );
function enqueue_admin_contact_cpt_js(){
global $post_type;
// scripts to be loaded at all times
wp_enqueue_script( '' );
// scripts to be loaded conditionaly by post type
if( 'contact' == $post_type ){
wp_enqueue_script( '' );
...
}
}