Según tengo entendido, los scripts de administración se deben registrar y poner en cola a través de admin_enqueue_scripts
hook y todos los demás scripts en wp_enqueue_scripts
, así que he configurado las siguientes funciones para registrar y poner en cola todos mis scripts de forma clara y forma organizada.
Mi pregunta es: ¿qué sucede si necesito ciertos scripts (p. ej., jquery validate plugin) tanto en el administrador como en el extremo frontal? ¿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 solo a través de wp_enqueue_scripts
y, de ser así, ¿no existe el riesgo de que no se llame cuando sea necesario? (Quiero decir, ¿por qué otra cosa podría existir admin_enqueue_scripts
si no se hicieran disponibles esos scripts en un momento anterior?
Realmente agradecería que alguien me explique esto para comprender completamente los matices de la puesta en cola de los scripts 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( '' );
...
}
}