Сайт ломается после добавления масонства в WooCommerce

Я пытаюсь добавить каменную кладку на страницу моего магазина woocommerce в теме «Двадцать двенадцать детей». Это также главная страница моего сайта. Я довольно новичок в PHP и WordPress.

Первым шагом было создание функции для загрузки файла masonry.pkgd.min.js из http://masonry.desandro.com/

Это функция:

function twentytwelve_child_masonry() {
if (! is_admin()) {
wp_register_script('jquery_masonry', get_stylesheet_directory_uri(). 'js/masonry.pkgd.min.js' ,array(jquery), 3.2 );
wp_enque_script('jquery_masonry');
add_action('wp_footer', 'twentytwelve_child_add_masonry');
function twentytwelve_child_add_masonry() { ?>
<script>
jQuery(document).ready(function($) {
$('#content').masonry({
itemSelector: '.products',
isAnimated: true;
}); });
</script>
<?php
}}}
add_action('init', 'twentytwelve_child_masonry');

Я нашел это в учебнике на Lynda.com о создании адаптивных тем.
Когда я пытаюсь загрузить страницу, сайт падает. Кто-нибудь есть идеи? Помощь очень ценится.

0

Решение

Вам нужно исправить некоторые синтаксические ошибки, прекратить вложение функций, использовать wp_enqueue_script правильно, и поставьте в очередь сценарии в нужный момент. Вы не можете (или не должны) ставить их в init действие. Вместо этого вы действительно должны упростить такие вещи, как следующее:

function twentytwelve_child_masonry() {
wp_enqueue_script( 'jquery_masonry', get_stylesheet_directory_uri() . '/js/masonry.pkgd.min.js', array('jquery'), '3.2', true );
}
add_action('wp_enqueue_scripts', 'twentytwelve_child_masonry');

Затем добавьте следующее к вашему footer.php:

<script>
jQuery(document).ready(function($) {
$('#content').masonry({
itemSelector: '.products',
isAnimated: true;
});
});
</script>

Однако, как уже упоминалось, Masonry поставляется с WordPress … так что это, вероятно, все еще усложняет ситуацию.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]