Вы должны сделать это способом WordPress!
Это не то, как JS используется в WordPress или файл называется / добавлен!
Вы должны использовать wp_enqueue_script , чтобы включить скрипты в вашtheme.
Всегда обращайтесь к источнику за достоверной информацией Включая CSS и JavaScript
После того, как вы попробовали способ WordPress, если вы не можете заставить его работать, обновите его.это с помощью WordPress, и я помогу вам :)
**
--- РЕДАКТИРОВАТЬ ---
Обещание - это обещание!
Я буду вести вас до конца:)
1- УДАЛИТЬ :
a- ОТ functions.php
function wpb_hook_javascript() {
?>
<script>
let mainNav = document.getElementById('js-menu');
let navBarToggle = document.getElementById('js-navbar-toggle');
navBarToggle.addEventListener('click', function () {
mainNav.classList.toggle('active');
});
</script>
<?php
}
add_action('wp_head', 'wpb_hook_javascript');
b- ОТ header.php
<script src="https://kit.fontawesome.com/721c0cc9d7.js"></script>
2-
Я вижу, что вы создали настроенный JS
комплектШрифта Awesome.
Так как я не знаю, что внутри него, а что вы включили, а что нет, я дам вам способ работать со всеми JS
шрифтами, тогда вы сможете, после пониманияконцепция, тo работать со всеми шрифтами или вашим комплектом ...
a- Скачать шрифт Awesome
Вы найдете папку js
иэта папка - файл с именем all.js
В корне вашей темы, того же уровня, что и папка style.css
, CREATE a js
, если у вас ее еще нет.
Inв эту папку js
, добавьте загруженный файл all.js
и СОЗДАЙТЕ в эту папку js
новый файл с именем my-js-file.js
.
b- В вашем functions.php
добавьте следующее:
/**
* Enqueue Font Awesome & Custom Scripts.
*/
function enqueue_my_scripts() {
wp_enqueue_script( 'font-awesome', get_theme_file_uri( '/js/all.js' ), array(), filemtime( get_theme_file_path( '/js/all.js' ) ), false );
wp_enqueue_script( 'my-js-file', get_theme_file_uri( '/js/my-js-file.js' ), array( 'jquery' ), filemtime( get_theme_file_path( '/js/my-js-file.js' ) ), true );
add_action( 'wp_enqueue_scripts', 'enqueue_my_scripts' );
/**
* Filter the HTML script tag of font-awesome script to add data-auto-replace-svg attribute.
*
* @param string $tag The <script> tag for the enqueued script.
* @param string $handle The script's registered handle.
*
* @return Filtered HTML script tag.
*/
function add_data_attribute( $tag, $handle ) {
if ( 'font-awesome' === $handle ) {
$tag = str_replace( ' src', ' data-auto-replace-svg="nest" src', $tag );
}
return $tag;
}
add_filter( 'script_loader_tag', 'add_data_attribute', 10, 2 );
3- Open my-js-file.js
и добавьте следующее:
(function ($) {
let mainNav = $( '#js-menu' );
let navBarToggle = $( '#js-navbar-toggle' );
navBarToggle.click( function( e ) {
e.preventDefault();
mainNav.toggleClass('active');
});
})(jQuery);
Я не вижу никаких id="js-menu"
в предоставленной вами информации HTML
.
Если ваши цели верны, они должны работать, как ожидалось, или вы должны исправить свои цели.
ЗАКЛЮЧИТЕЛЬНОЕ ВАЖНОЕ ПРИМЕЧАНИЕ
Не забудьте использовать дочернюю тему для всех ваших изменений, или они будут удалены при следующем обновлении темы, которой вы являетесьиспользуя (если вы не разрабатываете тему).
SYA:)