图像之间的分页(活动/非活动)

时间:2012-07-09 作者:Boredcollie

我想对以下代码段添加一个检查,该代码仅在下一个/上一个图像存在时显示下一个/上一个箭头:

<div class="gallery-image"> 
    <p class="attachment">  
        <img src="<?php echo $att_image[0];?>" 
            width="<?php echo $att_image[1];?>" 
            height="<?php echo $att_image[2];?>"  
            class="attachment-medium" 
            alt="<?php $post->post_excerpt; ?>" />

        <span class="nav arrow previous">
            <?php previous_image_link(false); ?>
        </span>

        <span class="nav arrow next">
            <?php next_image_link(false); ?>
        </span>
    </p>
</div>
这是last image of a gallery 因此,下一个箭头不应出现。

如果您有任何建议,请告诉我实施此行为的正确方法:)

提前感谢,

法维奥

1 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

这个previous_image_link() 仅当存在以前的图像时才打印某些内容。类似于next_image_link().

问题是您正在设计包含span 元素-始终存在。相反,您应该为a 标签位于span (仅当存在下一个/上一个图像时才会显示)。

或者,挖掘源头previous_image_linknext_image_link 呼叫adjacent_image_link (see source). 如上所述,如果存在下一个/上一个图像,则仅打印链接。您可以创建自己的函数,该函数不打印链接,只返回true/false。However, it would still preferable to use the solution outlined above.

/**
 * Similar to adjacent_image_link().
 * Returns true/false if the adjacent image exists.
 * @param $prev (bool) true - look for previous image, false -look for next.
 */
function wpse57904_has_adjacent_image_link($prev = true) {
    global $post;
    $post = get_post($post);
    $attachments = array_values(get_children( array(\'post_parent\' => $post->post_parent, \'post_status\' => \'inherit\', \'post_type\' => \'attachment\', \'post_mime_type\' => \'image\', \'order\' => \'ASC\', \'orderby\' => \'menu_order ID\') ));

    foreach ( $attachments as $k => $attachment )
        if ( $attachment->ID == $post->ID )
            break;

    $k = $prev ? $k - 1 : $k + 1;

    return isset($attachments[$k]);
}

结束

相关推荐

Float images in content

这不是一个编程问题。我无法更新WordPress博客中的内容。我很清楚这个问题可以通过html修改来解决。但我的客户不懂html。所以我需要给他相关的解决方案。我的问题:-我想在屏幕下方显示我的内容。 但是,当我插入一个帖子时,图片的内容从图片的底部开始。这可以通过html解决。但我需要知道任何其他简单的解决方案。 谢谢