Поддержка Проблемы и решения Исчезает слайдер после добавления экшена со скриптами в wp_footer

  • WordPress 4.7.2 с темой оформления SKT Hotel Lite.
    Ссылка на сайт: http://wp.trofimovetc.com/

    По ссылке вы увидите сайт, где слайдер в хедере отображается.
    После добавления нижеуказанного кода слайдер, а именно <section id=»home_slider»> не отображается. Смотрите скриншот:

    Вот код:

    //===================================ФУНКЦИЯ КАЛЕНДАРЯ - ДЛЯ ВВЕДЕНИЯ ФОРМЫ ПОИСКА===============================//
    // Вызываем функцию
    datepicker_js();
    /**
     * скрипт выбора даты datepicker
     * version: 1
     */
    function datepicker_js(){
    
        if( is_admin() )
            add_action('wp_footer', 'ps_init_datepicker', 99 ); // для админки
        else
            add_action('wp_footer', 'ps_init_datepicker', 99 ); //
    
        function ps_init_datepicker(){
            ?>
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
            <link rel="stylesheet" href="/resources/demos/style.css">
            <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
            <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
            <script>$( function() {
                    $.datepicker.setDefaults(
                        {
                            closeText: 'Закрыть',
                            prevText: '',
                            currentText: 'Сегодня',
                            monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь',
                                'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
                            monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн',
                                'Июл','Авг','Сен','Окт','Ноя','Дек'],
                            dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
                            dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
                            dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
                            weekHeader: 'Не',
                            dateFormat: 'dd.mm.yy',
                            firstDay: 1,
                            isRTL: false,
                            showMonthAfterYear: false,
                            yearSuffix: ''
                        });
                    var dateFormat = "dd.mm.yy",
                        from = $( "#ps_second_input_from" )
                            .datepicker({
                                defaultDate: "+1w",
                                changeMonth: true,
                                numberOfMonths: 1
                            })
                            .on( "change", function() {
                                to.datepicker( "option", "minDate", getDate( this ) );
                            }),
                        to = $( "#ps_second_input_to" ).datepicker({
                            defaultDate: "+1w",
                            changeMonth: true,
                            numberOfMonths: 1
                        })
                            .on( "change", function() {
                                from.datepicker( "option", "maxDate", getDate( this ) );
                            });
                    function getDate( element ) {
                        var date;
                        try {
                            date = $.datepicker.parseDate( dateFormat, element.value );
                        } catch( error ) {
                            date = null;
                        }
                        return date;
                    }
                });</script>
            <?php
        }
    } //==================СОЗДАНИЕ ФОРМЫ ЗАПОЛНЕНИЯ ПОИСКОВОГО ЗАПРОСА================================//
    function ps_second_search_form() {
        //Собственно, сама форма поиска. По заполнению её и нажатию кнопки пересылает на страницу с результатами
        echo '
        <form action="'.home_url().'/results/" method="post">
        <div class="labelpoiska">
    
        <label for="arrival">Дата поселения <strong>*</strong><br></label>
        <input type="text"  name="search_arrival" value="" id="ps_second_input_from">
        </div>
    
         <div class="labelpoiska">
        <label for="departure">Дата выселения <strong>*</strong><br></label>
        <input type="text" name="search_departure" value="" id="ps_second_input_to">
        </div>
    
        <input id="knopochka" type="submit" name="submit" value=" НАЙТИ " />
    
        </form>
        ';
    }

    Очень буду рад помощи)

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Сам нашёл проблему)
    Оказалось, я 2 раза подключил <script src=»https://code.jquery.com/jquery-1.12.4.js»></script&gt; И посему слайдер, вызываемый jQuery сбивался с работы.

    Решил проблему таким способом.
    Заменил код

    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
            <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
            <script>$( function() {
                    $.datepicker.setDefaults(
                        { //... и так далее

    на

    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
            <script>jQuery( function() {
                    jQuery.datepicker.setDefaults(
                     {//... и так далее, заменяя все символы $ на слово jQuery

    вообще подрубать jquery из cdn плохая идея — он в wordpress есть свой и работает в noconflict режиме. то есть при подключении любого плагина, который работает на встроенной версии jquery у вас обязательно что-нибудь перестанет работать.

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Исчезает слайдер после добавления экшена со скриптами в wp_footer» закрыта для новых ответов.