Глубокая связь с flexslider - PullRequest
       34

Глубокая связь с flexslider

0 голосов
/ 13 июня 2019

Я использую flexslider для показа пользовательских постов. Мне удалось заставить работать глубокую ссылку, добавив идентификатор записи для каждого элемента li и используя его для обновления URL-адреса этим идентификатором при нажатии на предыдущий / следующий.

Однако я не могу заставить эту новую ссылку работать, когда она отображается в браузере. Цель состоит в том, чтобы использовать этот URL для публикации на Facebook, например. Когда кто-то нажимает на ссылку, он должен перейти к этому конкретному слайду

$(document).ready(function(){
    var $flexslider = $('.flexslider');     
                $flexslider.flexslider({
before:function (slider) {
          // get the ID of the slide we are animating to
          id = slider.slides[slider.animatingTo].id 
          // set the URL path to #slideID     
          history.pushState(null, null, "#" + id);
          },
                animation: "fade",
                                touch: false,
                                slideshow: false,
                manualControls: ".flex-control-nav li",
                useCSS: false /* Chrome fix*/               
});
});

<section id="slider">
      <div class="flexslider">
        <ul class="slides">
        <?php query_posts(array('post_type' => 'juweel','orderby' => 'rand')); if(have_posts()) : while(have_posts()) : the_post();?>
            <li data-thumb="<?php the_post_thumbnail_url(); ?>" class="slide" id="<?php the_ID(); ?>">
            <?php the_title(); ?>
            <?php the_post_thumbnail(); ?>
          </li>
        <?php endwhile; endif; wp_reset_query(); ?>
        </ul>
    </div>
</section>

Я знаю, что могу получить хеш текущего местоположения, используя

var hash = window.location.hash;

Но я понятия не имею, как проверить, совпадает ли значение с идентификатором одного из моих слайдов, и заставить его перейти туда

...