#javascript #php #jquery #wordpress #elementor
Вопрос:
Я застрял с проблемой добавления jQuery
в WordPress.
Я чувствую, что с моим кодом есть проблема, но если я запускаю его нормально, он работает.
$("#newark").click(function() {
$("#mencontoz").toggle();
});
#mencontoz{display:none;}
.column {
float: left;
width: 20%;
padding: 10px;
background-color: #E8EFEF;
height: 392px;
}
/* Style links inside the columns */
.column a {
float: none;
color: black;
padding: 16px;
text-decoration: none;
display: block;
text-align: left;
}
/* Add a background color on hover */
.column a:hover {
background-color: #ddd;
}
/* Clear floats after the columns */
.row:after {
content: "";
display: table;
clear: both;
}
.attopicons{direction:rtl;
padding-top:10px;
align-content:center;
margin-top:10px;
font-size:25px;}
.fa-shopping-basket:hover{ color:#E8EFEF;}
.fomo{
text-align:center;
box-sizing: border-box;
width: 20%;
border: solid #fff 4px;
padding: 5px;
margin-left:40%;
margin-top:2%;
color:#fff; }
.fomo:hover{background-color:#E8EFEF;
color:#000;}
.chevron::before {
border-style: solid;
border-width: 0.25em 0.25em 0 0;
content: '';
display: inline-block;
height: 0.90em;
left: 0.30em;
position: relative;
top: 0.30em;
transform: rotate(-45deg);
vertical-align: top;
width: 0.90em;
color:#fff;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="newark">
Shop
</div>
<div id="mencontoz" class="drobdown-content">
<div class="row">
<div class="column">
<h3>Category 1</h3>
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
<a href="#">Link 4</a>
<a href="#">Link 6</a>
</div>
<div class="column">
<h3>Category 2</h3>
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
<a href="#">Link 4</a>
<a href="#">Link 5</a>
</div>
<div class="column">
<h3>Category 3</h3>
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
<a href="#">Link 4</a>
<a href="#">Link 5</a>
</div>
<div class="column">
<h3>Category 4</h3>
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
<div class="column">
<h3>Category 5</h3>
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
</div>
Я попытался поставить в очередь файл под названием «your-script.js» который находится в моем каталоге тем /assets/js/your-script.js
.
Я запустил файл с кодом без какого-либо тега scripts.
Вот PHP-код, который я использовал для запроса своего скрипта:
add_action( 'wp_enqueue_scripts', 'add_my_script' );
function add_my_script() {
wp_enqueue_script(
'your-script',
get_template_directory_uri() . '/assets/js/your-script.js',
array('jquery')
);
}
Но в конце концов у меня ничего не получилось.
Что я делаю не так?
Комментарии:
1. Определите «не работает». Что именно происходит? Сценарий не ставится в очередь? Вы видите ошибки на консоли?
Ответ №1:
Ты почти на месте! Вам просто нужно настроить несколько вещей, чтобы заставить его работать!
jquery
Тоже встаньте в очередь!
add_action( 'wp_enqueue_scripts', 'add_my_script' );
function add_my_script() {
wp_enqueue_script('jquery'); // Explicitly telling wordpress to load jquery
wp_enqueue_script(
'your-script',
get_template_directory_uri() . '/assets/js/your-script.js',
array('jquery'),
1.5, // put the version of your script here
TRUE // This will make sure that your script will be loaded in the footer
);
}
- Достань
$
изjquery
своегоjavascript
файла.
jQuery(document).ready($ => {
$("#newark").click(function () {
$("#mencontoz").toggle();
});
});
- Удалите
cdn
ссылку, которая пытается войтиjquery
в вашhtml
шаблон.
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Ответ №2:
Используйте jQuery
вместо $
. По $
умолчанию он недоступен в средах WordPress. Это называется безопасным режимом или режимом совместимости.
Подробнее читайте здесь: https://wpengine.com/resources/jquery-wordpress/
Примечание: Возможно, это не ваша проблема, но если это не так, вы, скорее всего, не предоставляете достаточно информации, чтобы кто — то мог вам помочь.