Jak rozumiem, skrypty administracyjne powinny być rejestrowane i kolejkowane przez admin_enqueue_scripts
hak i wszystkie inne skrypty, wp_enqueue_scripts
więc skonfigurowałem następujące funkcje, aby rejestrować i kolejkować wszystkie moje skrypty w przejrzysty i zorganizowany sposób.
Moje pytanie brzmi: co zrobić, jeśli potrzebuję określonych skryptów (np. Sprawdzania poprawności wtyczki jquery ) zarówno w interfejsie administratora, jak i interfejsu użytkownika? jaka jest w tym przypadku zalecana metoda rejestracji i kolejkowania skryptu? zarejestruj go dwa razy za pomocą innego uchwytu $ lub zarejestruj wp_enqueue_scripts
tylko, a jeśli tak, to czy nie istnieje ryzyko, że nie zostanie wywołany, gdy będzie to wymagane? (Mam na myśli, dlaczego inaczej miałoby admin_enqueue_scripts
istnieć, gdyby nie udostępnić tych skryptów wcześniej?
Byłbym naprawdę wdzięczny, gdyby ktoś mi to wyjaśnił, aby w pełni zrozumieć niuanse kolejkowania skryptów w wp. Dzięki
Mój kod:
// 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( '' );
...
}
}
źródło