Здесь есть несколько похожих вопросов, но ни один из них, похоже, не касается моего конкретного случая, по крайней мере, я не нашел.Вот код, который я использую, чтобы включить последнюю версию jquery в мою тему WP, а также чтобы убедиться, что она появляется в нижнем колонтитуле.
function current_jquery($version) {
global $wp_scripts;
if ( ( version_compare($version, $wp_scripts -> registered[jquery] -> ver) == 1 ) && !is_admin() ) {
wp_deregister_script('jquery');
wp_register_script('jquery',
'http://ajax.googleapis.com/ajax/libs/jquery/'.$version.'/jquery.min.js',
false, $version, true);
}
}
add_action('wp_head', current_jquery('1.5.1'));
Затем я использую wp_enqueue_script("jquery");
в header.php, и он работает, за исключением того, что я получаю jquery include, который заканчивается на «jquery.min.js? ver = 1.5.1», и я хочу избавиться от части запроса.
Я проверил функцию wp_register_script и из чегоЯ прочитал, чтобы избавиться от запроса, мне нужно просто заменить 2-ую из последней переменной пустой строкой ''.Однако, когда я это делаю, вместо этого я получаю версию WordPress по умолчанию, то есть «jquery.min.js? Ver = 3.0.1» (или что бы то ни было в то время).
Потому чтоЯ не на 100% понимаю все, что здесь происходит (между current_jquery, add_action и wp_enqueue_script). Я даже не уверен, с чего начать (получает ли $ version присвоенное значение WP-версии как-то?) Все, что я знаю, это то, что wp_register_script не 'Кажется, что он реагирует на ввод версии так, как она задокументирована.Что мне здесь не хватает?
Я должен добавить, что я хотел бы избежать использования строковых операций (split, reg_replace, что у вас) для выходной строки "src", чтобы сделать это, потому что должен бытьлучший способ.