我正在使用一个图像标记插件,它基于图像标记创建图库,但不链接回原始帖子,这是我希望做的事情。
我找到了这个帖子:\'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>
希望这对其他人来说是有意义的,但我很惊讶,因为我是一个新手,所以我能把一切都弄清楚。
最合适的回答,由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>
希望这对其他人来说是有意义的,但我很惊讶,因为我是一个新手,所以我能把一切都弄清楚