将缩略图链接到特定图像

时间:2014-08-06 作者:Adam

我快到了,但需要社区的帮助才能把我带回家!我正在从“gallery overview”页面(缩略图网格)链接到一个包含幻灯片的完整图像页面(attachment.php)。然后,用户应该能够使用flexslider滚动附加图像。到目前为止,这些原则上都是正确的。

问题是,单击任何缩略图都会让用户看到库中的第一幅图像,而不是缩略图所代表的实际图像。我的附件。php代码如下:

<div id="slider" class="slider">
    <ul class="slides-init">
<?php
            global $post;
            $args = array(
                \'post_type\' => \'attachment\',
                \'numberposts\' => -1,
                \'post_status\' => null,
                \'post_parent\' => $post->post_parent,
                \'order_by\' => \'menu_order\',
                \'order\' => \'ASC\'
            );
            $attachments = get_posts($args);
            if ($attachments) {
                foreach ($attachments as $attachment) {
                    echo \'<li>\';
                    echo wp_get_attachment_image($attachment->ID, \'large\');
                    echo \'</li>\';
                }
            }
?>
    </ul>
</div>
任何帮助都将不胜感激。此外,可以在此处找到测试站点(只需单击其中一个缩略图即可了解我的意思):

http://www.adamprince.us/clients/mcnairevans/projects/confessions-for-a-son/

非常感谢!!!

1 个回复
SO网友:Adam

答案是为每个附件分配一个计数:

$args = array(
    \'post_type\' => \'attachment\',
    \'numberposts\' => -1,
    \'post_status\' => null,
    \'post_parent\' => $post->ID,
    \'order_by\' => \'menu_order\',
    \'order\' => \'DESC\'
);

$attachments = get_posts( $args );
    if ( $attachments ) {
    $count = 0;
        foreach ($attachments as $attachment) {
            $link = get_permalink($attachment->ID);
            $link = add_query_arg(\'img\',$count,$link);
                echo \'<div class="thumbnail">\';
                echo \'<a href="\'.$link.\'" >\';
                echo wp_get_attachment_image( $attachment->ID, \'small\' );
                echo \'</a>\';
                echo \'</div>\';
                $count++;
        }
    }
然后使用指定的编号与附件页上的链接。

结束

相关推荐

Split Content and Gallery

有没有办法将帖子内容和库短代码分开。我想在我的正常内容之外显示库,无论其放置方式或位置如何。我可以用它来获取短代码本身:if(has_shortcode(get_the_content(), \'gallery\')){ $pattern = get_shortcode_regex(); preg_match(\"/$pattern/s\", get_the_content(), $matches); echo do_shortcode($matches[