我使用的是标准的WP图库,并将每个图像链接到一个附件页面,在该页面中,图像显示为全尺寸。为了显示上一个和下一个链接,以便用户访问相应的图像,我找到了函数previous_image_link 和next_image_link 有用的
在我的attachment.php 我有以下几行代码可以让WordPress显示上一个/下一个链接:
<div class="nav-links">
<?php previous_image_link( false, \'<div class="previous-image">\' . __( \'<< Previous Image\', \'$text_domain\' ) . \'</div>\' ); ?>
<?php next_image_link( false, \'<div class="next-image">\' . __( \'Next image >>\', \'$text_domain\' ) . \'</div>\' ); ?>
</div>
这会产生如下标记:
<div class="nav-links">
<a href="http://coolwebsite.com/attachment/03/">
<div class="previous-image"><< Previous Image</div>
</a>
<a href="http://coolwebsite.com/attachment/05/">
<div class="next-image">Next image >></div>
</a>
</div>
我的客户希望能够使用键盘在任何图库的图像之间来回切换,所以我添加了jzatt的jQuery脚本并将其编辑到我的
footer.php 它侦听KEYDOWN事件,如果触发,将获取WP提供的链接并更改页面的URL。
这是jQuery脚本:
<script>
$( document ).ready(function() {
$( document ).keydown( function( e ) {
/* In Galleries you can use LEFT and RIGHT ARROW KEYS to go to the previous/next image */
var url = false;
if ( e.which == 37 ) { // Left arrow key code
url = $( \'.previous-image\' ).parent().attr( \'href\' );
} else if ( e.which == 39 ) { // Right arrow key code
url = $( \'.next-image\' ).parent().attr( \'href\' );
}
//console.log("URL: "+url);
if ( url && ( !$( \'textarea, input\' ).is( \':focus\' ) ) ) {
window.location = url;
}
} );
});
</script>
不过,我需要添加一个IF语句,以首先检查用户是否确实在附件页上。