@zeaovede

Как переподключить jquery и не поломать сайт?

Переподключил jquery
Было так
function my_scripts() { 
?>	
<script type="f71ad2114b19723ebddd10ca-text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/jquery-3.6.0.min.js"></script>
<?php
}

Сделал так
function my_scripts() {  
wp_deregister_script( 'jquery' );
	wp_register_script( 'jquery', get_template_directory_uri() .'/js/jquery-3.6.0.min.js' );
	wp_enqueue_script( 'jquery' );
}


myajax is not defined - это к чему пришел
620af34d81fea311080302.png

Отвалился код в функшенс в результате переподключения jquery:
add_action( 'wp_enqueue_scripts', 'myajax_data', 2000);
function myajax_data(){
	wp_localize_script( 'jquery', 'myajax',
		array(
			'url' => admin_url('admin-ajax.php')
		)
	);
}


Возможно, кто-то сталкивался с подобным и сможет подсказать как это пофиксить?
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Визуально выглядит правильно, смотрите какие файлы и в каком порядке подключаются в исходном коде. Вообще нужно файл с вызовом ajax подключить с зависимостью от jquery, а localize с зависимость от обработчика

function wpz_scripts() {

	wp_enqueue_script( 'ajax-events', get_theme_file_uri( 'dist/build/ajax-events.min.js' ), array( 'jquery' ), filemtime( get_theme_file_path( '/dist/build/ajax-events.min.js' ) ) );

	wp_localize_script(
		'ajax-events', 
		'ajax_events_obj', 
		array(
			'url' => admin_url( 'admin-ajax.php' ),
			'nonce' => wp_create_nonce( 'nonce-events' ) // Создаем nonce
		) 
	);

}
add_action( 'wp_enqueue_scripts', 'wpz_scripts' );


Зачем вы вообще пытаетесь подключить свою версию jq? В WP 5.9 и так подключается минифицированная версия jQuery v3.6.0
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы