仅由作者获取接下来的附件
-
16-10-2019 - |
题
我正在尝试获取当前显示的用户的下一个和上一个附件,这是我拥有的功能,除了它获取所有附件,而不仅仅是来自特定用户的附件。
<p>
<?php $attachment_size = apply_filters( 'twentyten_attachment_size', 900 );
echo wp_get_attachment_image($post->ID, array( $attachment_size, 9999) ); // filterable image width with, essentially, no limit for image height.?>
</p>
<div id="next-prev-links"><div class="previmg"><?php previous_image_link(); ?></div><p id="previmgtxt" class="imgtxt"><?php previous_image_link(false, 'Previous Photo'); ?></p>
<div class="nextimg"> <?php next_image_link(); ?></div><p id="nextimgtxt" class="imgtxt"><?php next_image_link(false, 'Next Photo'); ?></p></div>
解决方案
你好 @Jeremy爱:
好问题!这是一个很好的问题,因为似乎没有任何钩子可以允许您编写作者过滤代码。
可悲的是,这意味着复制其副本以制作自己的功能,以便您可以进行所需的1行更改 (在这种情况下,是 'post_author' => $post->post_author,
). 这是您应该能够使用的功能:
function yoursite_previous_image_link($size = 'thumbnail', $text = false) {
yoursite_adjacent_image_link(true, $size, $text);
}
function yoursite_next_image_link($size = 'thumbnail', $text = false) {
yoursite_adjacent_image_link(false, $size, $text);
}
function yoursite_adjacent_image_link($prev=true,$size='thumbnail',$text=false) {
global $post;
$post = get_post($post);
$attachments = array_values(get_children( array(
'post_author' => $post->post_author,
'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;
if ( isset($attachments[$k]) )
echo wp_get_attachment_link($attachments[$k]->ID, $size, true, false, $text);
}