获取上一个/下一个图像链接的ID

时间:2015-12-08 作者:Marko

为了抓取附件页上的上一个或下一个图像链接,我们可以使用https://codex.wordpress.org/Function_Reference/previous_image_link

我们如何获取该附件的ID?因为我想用这个echo get_post_meta(get_the_ID(), \'_wp_attachment_image_alt\', true); 把它放在图片下面,也许还有一些东西。

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

previous_image_link 看起来它使用了adjacent_image_link.

你可能可以通过这篇文章做更多的事情ID. 此示例显示如何获取上一篇文章和下一篇文章,然后从文章缩略图中获取任何图像数据。

虽然这并不能直接回答您的问题,但我很有信心您可以使用ID 得到你需要的东西。显然,这个额外的功能需要$post_id 但你可以通过get_post_ID() 如果您想要或使用get_previous_post()get_next_post 直接地

此示例基于此问题Get Previous & Next posts by Post ID.

function get_next_post_id( $post_id, $is_next=true ) {
    return get_previous_post_id($post_id, ! $is_next );
}

function get_previous_post_id( $post_id, $is_prev=true ) {
    // Get a global post reference since get_adjacent_post() references it
    global $post;

    // Store the existing post object for later so we don\'t lose it
    $oldGlobal = $post;

    // Get the post object for the specified post and place it in the global variable
    $post = get_post( $post_id );

    // Get the post object for the previous post
    $previous_post = $is_prev ? get_previous_post() : get_next_post();

    // Reset our global object
    $post = $oldGlobal;

    if ( \'\' == $previous_post ) 
        return 0;

    return $previous_post->ID;
}

$post_id = 6331;
$prev_post_id = get_previous_post_id( $post_id ); 
$next_post_id = get_next_post_id( $post_id ); 

var_dump ( array(

    \'****** POST ID\',
    $prev_post_id,
    $post_id,
    $next_post_id,

    \'****** POST TITLE\',
    get_post($prev_post_id)->post_title,
    get_post($post_id)->post_title, 
    get_post($next_post_id)->post_title,

    \'****** IMAGE ID\',
    $p_img_id = get_post_thumbnail_id( $prev_post_id ),
    $c_img_id = get_post_thumbnail_id( $post_id ),
    $n_img_id = get_post_thumbnail_id( $next_post_id ),

    \'****** IMAGES\',
    wp_get_attachment_image( $p_img_id ),
    wp_get_attachment_image( $c_img_id ),
    wp_get_attachment_image( $n_img_id ),

    \'****** IMAGE META\',
    wp_get_attachment_metadata( $p_img_id ),
    wp_get_attachment_metadata( $c_img_id ),
    wp_get_attachment_metadata( $n_img_id ),

    \'****** IMAGE POST META\',
    get_post_meta( $p_img_id ),
    get_post_meta( $c_img_id ),
    get_post_meta( $n_img_id ), 
)); 

Reference

相关推荐

Remove <p></p> after images

我对<p></p> 出现在my之后的标记<img....>. 以下是我在本地主机上查看生成的页面时显示的内容。。。<img src=\"/wp-content/themes/wunderful/assets/images/feedback-danielle.png\" alt=\"Danielle Johnson Deal Town FC Treasurer\"> <p></p> 请注意随机生成的<p>&