如何将图像链接到它所附加的帖子?

时间:2012-02-02 作者:Stephen S.

我正在使用一个图像标记插件,它基于图像标记创建图库,但不链接回原始帖子,这是我希望做的事情。

我找到了这个帖子:\'Get the post attached to an image attachment\', 但它假设我知道附件ID。

所以我想我的问题是:如果我有一个附在帖子上的图片的url(但没有附件ID),有没有办法找到它所附帖子的url?

<小时>EDIT: 在进行了一些额外的搜索之后,我在这里找到了一个生成附件ID的函数:http://pippinsplugins.com/retrieve-attachment-id-from-image-url/:

// retrieves the attachment ID from the file URL
function pippin_get_image_id($image_url) {
    global $wpdb;
    $prefix = $wpdb->prefix;
    $attachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM " . $prefix . "posts" . " WHERE guid=\'" . $image_url . "\';"));
    return $attachment[0];  
}
以及

$image_url = \'{my image url variable}\';
$image_id = pippin_get_image_id($image_url);
然后我可以将其与另一个Wordpress答案线程结合在一起:Get the post attached to a image attachment:

$parent = get_post_field( \'post_parent\', $image_id);
$link = get_permalink($parent);
然后添加:

$my_post_title = get_the_title($parent);
然后输出使用:

<a href="\'. $link .\'">\'.$my_post_title.\'</a>
希望这对其他人来说是有意义的,但我很惊讶,因为我是一个新手,所以我能把一切都弄清楚。

2 个回复
最合适的回答,由SO网友:Stephen S. 整理而成

在进行了一些额外的搜索之后,我在这里找到了一个生成附件ID的函数:http://pippinsplugins.com/retrieve-attachment-id-from-image-url/:

// retrieves the attachment ID from the file URL
function pippin_get_image_id($image_url) {
    global $wpdb;
    $prefix = $wpdb->prefix;
    $attachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM " . $prefix . "posts" . " WHERE guid=\'" . $image_url . "\';"));
    return $attachment[0];  
}
以及

$image_url = \'{my image url variable}\';
$image_id = pippin_get_image_id($image_url);
然后我可以将其与另一个Wordpress答案线程结合在一起:Get the post attached to a image attachment:

$parent = get_post_field( \'post_parent\', $image_id);
$link = get_permalink($parent);
然后添加:

$my_post_title = get_the_title($parent);
然后输出使用:

<a href="\'. $link .\'">\'.$my_post_title.\'</a>
希望这对其他人来说是有意义的,但我很惊讶,因为我是一个新手,所以我能把一切都弄清楚

SO网友:Chip Bennett

尝试组合the_permalink() 带有附件ID。

例如,假设您知道或知道如何获取附件ID,如$attachmentid:

<a href="<?php the_permalink( $attachmentid ); ?>"><img /></a>
但是,您声明:

我发现了这个帖子:“将帖子附加到图像附件”,但它假设我知道附件ID。

所以我想我的问题是:如果我有一个附在帖子上的图片的url(但没有附件ID),有没有办法找到它所附帖子的url?

你还没有附件ID,这是难以置信的。你在使用什么插件?

简单地看一下你引用的插件的SVN代码,我没有看到附件ID的明显暴露。那么,这个问题的答案对于WPSE来说可能太本地化了。我建议张贴到Tag Gallery Plugin support forum at wordpress.org.

结束

相关推荐

how to edit attachments?

在将例如文件附加到帖子时,如何在事后编辑/删除它们?在帖子编辑器中找不到任何内容。谢谢