Как установить пользовательский URL из цикла галереи Wordpress - PullRequest
0 голосов
/ 24 сентября 2018

В настоящее время я создаю веб-сайт Wordpress для клиента, для которого требуется фотогалерея, при нажатии на изображение которого будет перенаправлена ​​внешняя ссылка.

Каждая коллекция из галереи отображается как публикация.Поэтому внутри каждого сообщения я добавляю фотографии с помощью встроенной в Wordpress функции «Галерея».

Для установки пользовательских URL-адресов для этих изображений я использую плагин WP Gallery Custom Links , но пользовательские ссылкине назначаются на фотографии, как я хочу.

Есть ли какой-либо способ получения данных, устанавливаемых плагином WP Gallery Custom Links, или есть другой способ назначения настраиваемого URL-адреса для этих фотографий, который можно сделать с помощью панели инструментов?

Внутри моего исходного кода для моего файла «content-single.php» я вывожу фотографии внутри поста, используя цикл «foreach» и используя функцию wp_prepare_attachment_for_js () для извлечения данных вложения:

<?php 
    if ( get_post_gallery() ) :
                    $gallery = get_post_gallery( get_the_ID(), false );

                    /* create an array of IDs from  */
                    $gids = explode( ",", $gallery['ids'] );

                    /* Loop through all the image and output them one by one */
                    foreach ($gids as $id) {

                        /* pull all the available attachment data with the new function */
                        $attachment = wp_prepare_attachment_for_js($id);

                        $categories = get_the_category($attachment);
?>
                        <!--Image element loop begins -->

                        <a href="<?php echo $attachment['url']; ?>" id="av-masonry-1-item-284" data-av-masonry-item="284" class="av-masonry-entry isotope-item post-284 attachment type-attachment status-inherit hentry  av-masonry-item-with-image <?php if($attachment['width']>=($attachment['height']*2)){ ?>av-landscape-img <?php }elseif($attachment['height']>=($attachment['width']*2)){ ?> av-portrait-img <?php } ?> lightbox-added av-masonry-item-loaded" title="A really beautiful town" itemprop="thumbnailUrl" style="position: absolute; left: 0%; top: 0px;">
                            <div class="av-inner-masonry-sizer"></div>
                            <figure class="av-inner-masonry main_color">
                                <div class="av-masonry-outerimage-container">
                                    <div class="av-masonry-image-container" style="background-image: url(<?php echo $attachment['sizes']['full']['url']; ?>);">
                                        <img src="<?php echo $attachment['sizes']['full']['url']; ?>" title="Salzburg by day" alt="">
                                    </div>
                                </div>
                                <figcaption class="av-inner-masonry-content site-background">
                                    <div class="av-inner-masonry-content-pos">
                                        <div class="av-inner-masonry-content-pos-content">
                                            <div class="avia-arrow"></div>
                                            <h3 class="av-masonry-entry-title entry-title" itemprop="headline"><?php echo $attachment['title']; ?></h3>
                                            <div class="av-masonry-entry-content entry-content" itemprop="text"><?php echo $attachment['caption']; ?></div>
                                        </div>
                                    </div>
                                </figcaption>
                            </figure>
                        </a>

                        <!-- Image element loop ends -->
                        <?php
                    }
                endif;

            ?>

Я пытался использовать var_dump ($ attachment), чтобы найти любой след пользовательского URL, но безрезультатно.

Если мне удастся заполучить пользовательские URL-адреса, я буду использовать их для замены URL-адреса, назначенного внутри цикла:

<a href="<?php $attachment['url'] ?>" id="av-masonry-1-item-284" data-av-masonry-item="284" class="av-masonry-entry isotope-item post-284 attachment type-attachment status-inherit hentry  av-masonry-item-with-image <?php if($attachment['width']>=($attachment['height']*2)){ ?>av-landscape-img <?php }elseif($attachment['height']>=($attachment['width']*2)){ ?> av-portrait-img <?php } ?> lightbox-added av-masonry-item-loaded" title="A really beautiful town" itemprop="thumbnailUrl" style="position: absolute; left: 0%; top: 0px;">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...