宏伟的弹出窗口永久链接到发布父级

时间:2018-12-12 02:29:04

标签: javascript php wordpress custom-post-type magnific-popup

我设置了一个自定义帖子类型“女性”。有56个帖子,其中包括肖像和传记。然后,我设置了一个Gallery页面,该页面从每个帖子中获取缩略图并将其显示在Gallery中。单击缩略图可使用Magnific Popup打开带有全尺寸图像的模态。我陷入困境的地方是试图弄清楚如何在图像标题和女性单页之间添加永久链接?在此代码段中,永久链接链接回到当前页面,而不是后父链接。我可以获取一些格式化titleSrc的方法吗?谢谢。

<ul class="popup-gallery scroll-effect">
            <?php
            $args = array('post_type' => 'women','orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => 100);
            $loop = new WP_Query( $args ); 

            while ( $loop->have_posts() ) : $loop->the_post(); 
                $image = get_field('portrait');
                $post_id = get_field('url', false, false);

                if( !empty($image) ): 
                $url = $image['url'];
                $title = $image['title'];
                $alt = $image['alt'];
                $size = 'medium';
                $thumb = $image['sizes'][ $size ];
                $width = $image['sizes'][ $size . '-width' ];
                $height = $image['sizes'][ $size . '-height' ];
                ?>

                <li>
                    <a href="<?php echo $url; ?>" title="<?php echo $title; ?>">
                        <img class="icon" src="<?php echo get_template_directory_uri(); ?>/i/icon-image-expand.png">
                        <img src="<?php echo $thumb; ?>" alt="<?php echo $alt; ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" />
                    </a>
                </li>

                <?php endif; ?>
            <?php endwhile; wp_reset_query();?> 
        </ul>

$('.popup-gallery').magnificPopup({
    delegate: 'a',
    type: 'image',
    tLoading: 'Loading image #%curr%...',
    mainClass: 'mfp-img-mobile',
    gallery: {
        enabled: true,
        navigateByImgClick: true,
        preload: [0,1]
    },
    image: {
        tError: '<a href="%url%">The image #%curr%</a> could not be loaded.',
        titleSrc: function(item) {
         return item.el.attr('title') + ' &bull; <a href="<?php echo get_the_permalink(); ?>">Her Story</a>';
        }
    }
});

1 个答案:

答案 0 :(得分:1)

PHP部分

<a>标记中,将href设置为单个帖子永久链接,并将data-mfp-src设置为图像URL($url):

<li>
  <a href="<?php the_permalink(); ?>" data-mfp-src="<?php echo $url; ?>" title="<?php echo $title; ?>">...</a>
</li>

JS部分

然后在titleSrc回调中,使用item.el.attr('href')获取单个帖子的永久链接:

titleSrc: function(item){
  return item.el.attr('title') + ' &bull; <a href="' + item.el.attr('href') + '">Her Story</a>';
}

我在CodePen上放置了一个demo ,有关data-mfp-src属性的更多详细信息,请参见documentation