Theo tôi hiểu, các kịch bản quản trị được cho là đã được đăng ký và xử lý thông qua admin_enqueue_scripts
hook và tất cả các tập lệnh khác wp_enqueue_scripts
vì vậy tôi đã thiết lập các chức năng sau để đăng ký và xử lý tất cả các tập lệnh của mình một cách rõ ràng và có tổ chức.
Câu hỏi của tôi là, điều gì sẽ xảy ra nếu tôi cần một số tập lệnh nhất định (ví dụ : plugin xác thực jquery ) cả trong quản trị viên và ở mặt trước? phương pháp được đề nghị để đăng ký và mê hoặc kịch bản trong trường hợp này là gì? đăng ký hai lần với một tay cầm $ khác nhau hoặc chỉ đăng ký thông qua wp_enqueue_scripts
và nếu vậy, không có nguy cơ nó không được gọi khi được yêu cầu? (ý tôi là, tại sao người khác sẽ admin_enqueue_scripts
tồn tại nếu không làm cho các tập lệnh đó có sẵn vào thời điểm sớm hơn?
Tôi thực sự sẽ đánh giá cao ai đó giải thích điều này cho tôi để hiểu đầy đủ các sắc thái của kịch bản mê hoặc trong wp. Cảm ơn
Mã của tôi:
// 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( '' );
...
}
}