ในฟังก์ชั่นของ theme.php ฉันกำลังเรียก add_action เพื่อให้สามารถวัดการควบคุมได้ว่าโหลด jquery ไว้ที่ไหน (ในส่วนท้ายพร้อมกับสคริปต์อื่น ๆ ของธีม)
ปัญหาที่ฉันมีอยู่ก็คือเมื่อฉันใช้ add_action ('wp_enqueue_scripts') มันจะปรากฏขึ้นก็ต่อเมื่อไม่มีการโหลดปลั๊กอิน อย่างไรก็ตามวิธีการ add_action ('init') สามารถใช้งานได้ในทุกกรณี
ฉันจำไม่ได้ว่าทำไม แต่ฉันเชื่อว่าเป็นที่ต้องการ add_action ('wp_enqueue_scripts') ในกรณีนี้ หากเป็นจริงฉันจะทำให้มันทำงานได้ในทุกกรณีได้อย่างไร
ในฟังก์ชั่น
//if(!is_admin()){add_action('init', 'my_theme_init');} //THIS WORKS ALL THE TIME
//add_action('wp_enqueue_scripts', 'my_theme_init'); //THIS ONLY WORKS WHEN NO PLUGINS PRESENT
if(!is_admin())
{
require_once(TEMPLATEPATH . '/functions_public.php');
}
ใน functions_public.php
function my_theme_init()
{
/* PREVENT DUPLICATE COPIES OF JQUERY FROM PLUGINS
**************************************************/
wp_deregister_script('jquery');
/* LOAD THE LOCAL WORDPRESS COPY OF JQUERY AND THEME CUSTOM SCRIPTS IN THE FOOTER
***********************************************/
wp_register_script('jquery', get_bloginfo('template_directory').'/scripts.mythemescripts.js',false,false,true);
wp_enqueue_script('jquery');
}
เมธอดที่ 2 โดยใช้ add_action ('wp_enqueue_scripts') จะไม่ถูกเรียกใช้งานในสภาวะที่ปลั๊กอินมีอยู่ซึ่งจะเขียนการอ้างอิงสคริปต์ไปยังธีม