Я понимаю, что это сумасшествие, но я создал отфильтрованную галерею с зыбучим песком, и она нажимает на большее изображение, название и описание, когда вы нажимаете меньшее изображение, которое показывает данные-img в более крупной форме. Ниже приведен код, который в настоящее время работает …
<img src="<?php echo $large_image ?>" data-img="<?php echo $large_image ?>" data-title="<?php echo get_the_title(); ?>" data-description="<?php the_content();?>" alt="" class="superbox-img" />
Мой клиент вернулся и спросил, могут ли они изменить большие изображения, которые начинаются с атрибута data-img из статических изображений в галереи … Поэтому я установил плагин Advanced Custom Fields и добавил редактор WYSIWYG для поля короткого кода, в сообщениях портфолио (пользовательский тип страницы). Который я хотел бы импортировать короткий код королевского слайдера ( http://dimsemenov.com/plugins/royal-slider/ ). С тех пор я изменил код сверху на следующий …
<img src="<?php echo $large_image ?>" data-img="<?php htmlentities(the_field('portfolio_galleries')); ?>" data-title="<?php echo get_the_title(); ?>" data-description="<?php the_content();?>" alt="" class="superbox-img" />
Который бросает ошибку и выплевывает следующий HTML …
<img src="http://img.wordpressask.com/plugins/St-Francis-Assisi-Interior-6-.jpg" data-img="<div id="new-royalslider-6" class="royalSlider new-royalslider-6 rsMinW rs-simple-vertical" style="width:100%; height:500;"> <div class="rsContent"> <a class="rsImg" href="http://img.wordpressask.com/plugins/test1-1024x437.png">test1</a> <div class="rsTmb">test1</div> </div><div class="rsContent"> <a class="rsImg" href="http://img.wordpressask.com/plugins/test2-1024x437.png">test2</a> <div class="rsTmb">test2</div></div> <div class="rsContent"> <a class="rsImg" href="http://img.wordpressask.com/plugins/test3-1024x437.png">test3</a> <div class="rsTmb">test3</div></div></div>" data-title="Doane" data-description="<p>testing1234</p>" alt="" class="superbox-img" />
Возможно, я собираюсь сделать это неправильно, но начальная галерея отлично поработала, и мне интересно, как решить эту проблему, любая помощь будет великолепной, поскольку я знаю, что это, вероятно, потерянное дело, как я сейчас пытаюсь выполните это. : – /
Заранее спасибо.
ОБНОВИТЬ:
data-img="<div id="new-royalslider-6" class="royalSlider new-royalslider-6 rsMinW rs-simple-vertical" style="width:100%; height:500;"><div class="rsContent"> <a class="rsImg" href="localhost:8888/BVH/wp-content/uploads/2013/03/…; <div`
the_field
результат, а htmlentities()
ожидает, что значение будет возвращено. Попробуйте get_field
:
data-img="<?php echo htmlentities(get_field('portfolio_galleries')); ?>"
ОБНОВИТЬ:
Вместо добавления этого огромного фрагмента html для слайдера к атрибуту data просто добавьте его после вашего изображения:
<img src="<?php echo $large_image ?>" data-title="<?php echo get_the_title(); ?>" data-description="<?php the_content();?>" alt="<?php echo get_the_title(); // be nice ?>" class="superbox-img" /> the_field('portfolio_galleries');
и скрыть его с помощью css:
.portfolio-item .royalSlider { display: none; }
Теперь загрузите html в свой контейнер супербок, когда пользователь нажимает на элемент, редактируя его в свой superbox.js по строке 36:
superbox.find('.royalSlider').remove(); // remove the slider from previous events var imgData = currentimg.data(); var sliderData = currentimg.next('.royalSlider'); // grab the slider html that we want to insert superboximg.attr('src', imgData.img); if (sliderData) { // show the slider if there is one superbox.clone().append(sliderData); // clone the element so we don't loose it for the next time the user clicks } else { // if there is no slider proceed as before if (imgData.title) { superbox.append('<h3 class="title">' + imgData.title + '</h3>'); } if (imgData.description) { superbox.append('<div class="description">' + imgData.description + '</div>'); } }
Есть более подходящие способы сделать это, например, повторять URL-адреса ползунка с атрибутами <img />
а затем генерировать слайдер html, перейдя по этим URL-адресам, но пока это должно работать.