wp_enqueue_script - это правильный способ сделать это. Вы могли бы сделать то же самое, что предложил Скотт, но цель wp_enqueue_script - избежать конфликтов, что WP автоматически обрабатывает.
Вы загружаете это на передний или задний конец?
Если бэкэнд, я настоятельно рекомендую ограничить ваши JS-файлы только загрузкой на ваших страницах плагина, вот как вы это делаете:
add_action('admin_menu', 'add_pages');
function add_pages() {
$my_plugin_page = add_menu_page('Plugin Name', 'Plugin Name', 8,__FILE__, 'invoice_overview',"images/plugin_icon.png");
// This is the trick, notice the "$my_plugin_page" being tacked on the end of admin_print_scripts
add_action( "admin_print_scripts-$my_plugin_page", 'admin_head');
}
function admin_head() {
global $path_to_your_files;
// You may notice array('jquery') at the end, that means jQuery is required to make that particular file function, and WP will include it automatically
wp_enqueue_script('jquery.whatever',$path_to_your_files . "/js/jquery.whatever.js", array('jquery'));
wp_enqueue_script('jquery.autocomplete',$path_to_your_files . "/js/jquery.autocomplete.js", array('jquery'));
wp_enqueue_script('your_custom_file',$path_to_your_files . "/js/your_custom_file.js", array('jquery'));
}
Для внешнего интерфейса труднее изолировать ваши файлы JS на определенных страницах. Правильный способ вставки js-файлов аналогичен, за исключением того, что я обычно загружаю их в init, как вы это делали.
Еще одна вещь, будьте осторожны, используя __construct в своем PHP-коде, потому что он не работает в PHP4, если вы планируете распространять плагин, имейте в виду, что некоторые люди все еще используют PHP4.
Удачи.