Wordpress的缩略图将在灯箱中打开这个帖子的图库

时间:2018-05-20 19:07:56

标签: javascript php html wordpress lightbox

我有点迷失,并且没有找到解决问题的方法,所以我决定向你求助。也许我不知道如何说出这个问题以及为什么我找不到任何解决方案,所以任何帮助都表示赞赏!

我的客户网站建立在Wordpress上,但该网站是手写的(不是购买的主题),在一个页面上,她希望提及她公司的投资组合。参考文献目前就像Wordpress一样,但我们想在每个帖子中添加图库,如果客户点击帖子的链接,它会在灯箱中打开一个图库。

How posts look like on a website。 (对不起爱沙尼亚语)

我添加了#34; Featured Galleries"插件中的插件(image),以便在Post页面上,我可以将图像添加到库中。现在我的问题是,我怎样才能将这些图像放到灯箱库中?

我设法将这些图片放到我的网站上,但不是我希望的方式,这是我的代码:

    <div class="gridbox reference <?php if(DOING_AJAX) {echo " added";} ?>">

        <a href="<?php
            if ( $thumbnail_id = get_post_thumbnail_id() ) {

                if ( $image_src = wp_get_attachment_image_src( $thumbnail_id, 'normal-bg' ) ) 
                    printf( ' %s', $image_src[0] );
                }
            ?>">

        <div class="bg_img"<?php

                if ( $thumbnail_id = get_post_thumbnail_id() ) {

                    if ( $image_src = wp_get_attachment_image_src( $thumbnail_id, 'normal-bg' ) )

                        printf( ' style="background-image: url(%s);"', $image_src[0] );     

                }

            ?>> </div>

        <h3><?php the_title(); ?></h3>

        <p><?php the_time('Y'); ?><br><?php the_category( ', ' ); ?></p>

    </a>
    </div>

    <div>

    <?php $galleryarray = get_post_gallery_ids($post->ID);

                foreach ($galleryarray as $id) {

                    $image = wp_get_attachment_image_src( $id, ‘thumb’ );

                    $attachment_meta = wp_get_attachment( $id ); ?>

                    <a id="<?php echo $id; ?>" href="<?php echo $image[0]; ?>" data-lightbox="image-1">

                    <img src="<?php echo wp_get_attachment_url( $id ); ?>">

                    <?php echo '</a>';?>

                <?php } ?>
</div>

如果有更简单的方法可以做到这一点,那么我也是为了它! 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我得到了一个观点,每个帖子都有自己的画廊,如果你在网站上打开第一篇文章,就会出现一个灯箱库,你可以在这里查看这篇文章的所有图片。 HTML / PHP代码:

{
    query :{
        bool:{
            must:[{
              "script": {
                "script":{
                  "inline": "(doc['fieldname'].value.toString().substring(0,2).toUpperCase() in ['AA','BB']) == true"
                }
              }
            }],
            should:[],
            must_not:[]
        }
    }
}

JavaScript代码:

            <?php 
                $i = 1;
                while( $refs->have_posts() ): $refs->the_post();    
                $galleryarray = get_post_gallery_ids($post->ID);?>

                <div class="gridbox reference <?php if(DOING_AJAX) {echo " added";} ?>">

                        <div class="bg_img cursor"<?php

                                if ( $thumbnail_id = get_post_thumbnail_id() ) {

                                    if ( $image_src = wp_get_attachment_image_src( $thumbnail_id, 'normal-bg' ) )

                                        printf( ' style="background-image: url(%s);"', $image_src[0] );     

                                }

                            ?> onclick="openModal(<?php echo $i; ?>);currentSlide(1)"> </div>

                        <h3><?php the_title(); ?></h3>

                        <p><?php the_time('Y'); ?><br><?php the_category( ', ' ); ?></p>

                    </a>
                </div>

                <!-- Modal -->
                <div id="myModal-<?php echo $i; ?>" class="modal">
                <span class="close cursor" onclick="closeModal(<?php echo $i; ?>)">&times;</span>

                    <div class="modal-content">          
                               <?php
                                foreach ($galleryarray as $index => $id) {
                                    $image = wp_get_attachment_image_src( $id, ‘thumb’ );
                                    $number = $index+1; ?>

                                    <div class="mySlides">
                                        <div class="numbertext"><?php echo $number; ?> / <?php echo count($galleryarray); ?></div>
                                        <img id="<?php echo $id; ?>" src="<?php echo $image[0]; ?>" style="width:100%">
                                    </div>

                                <?php } ?>

                    <a class="prev" onclick="plusSlides(-1)">&#10094;</a>
                    <a class="next" onclick="plusSlides(1)">&#10095;</a>

                    <div class="caption-container">
                      <p id="caption"></p>
                    </div>
                                <?php
                                foreach ($galleryarray as $index => $id) {
                                    $image = wp_get_attachment_image_src( $id, ‘thumb’ );
                                    $alt = get_post_meta( $id, '_wp_attachment_image_alt', true);
                                    $number = $index+1; ?>

                                    <div class="column">
                                        <img id="<?php echo $id; ?>" class="demo cursor" src="<?php echo $image[0]; ?>" style="width:100%" onclick="currentSlide(<?php echo $number ?>)" alt="<?php echo $alt; ?>">
                                    </div>

                                <?php } ?>
                  </div>
                </div>
                    <?php $i++; 
            endwhile; ?>

第一篇文章的所有内容都没问题,它会从画廊中获取一张主图像,而其他图片则在下方,您可以在其中查看并选择它们。但似乎对于其他帖子,它不起作用。 Lightbox将打开,在下面的列中,这些特定帖子的图片都在那里,但它们不会显示大,因为它似乎只适用于第一个模态。

问题是,我怎样才能让其他人正确,这样我才能看到特定帖子的正确图片? 帖子网站:https://vmtehitus.ee/referentsid/(对不起,只有爱沙尼亚语。)