Get attachment file link

时间:2015-09-25 作者:Rico Letterman

我正在构建一个主题,在主模板上生成一个链接,指向附在帖子上的PDF(它将仅是PDF文件)。

我找到了一个解决方案来检查这篇文章是否附有PDF。目标是在主页(博客)模板上创建一个下载文件的链接。

这是我目前拥有的

function leoni_get_attachment() {
    global $post; 
    $args = array(
        \'post_type\'      => \'attachment\',
        \'post_mime_type\' => \'application/pdf\',
        \'post_parent\'    => $post->ID,
    );

    $attachments     = get_posts($args);
    $attachment_link = wp_get_attachment_url();

    if ($attachments) {
        echo \'<a href="\'. $attachment_link .\'">Download</a>\';
    } else {
    return false;
    }
}
我试过使用get_attached_file() 没有成功。

2 个回复
SO网友:Krzysiek Dróżdż

嗯,有一个WP函数。

wp\\u get\\u attachment\\u url

它以附件id作为参数,因此您可以像下面的示例中那样使用它:

echo wp_get_attachment_url( 12 );
这将回显id为12的附件的url。

您可以在Codex页面上找到更多信息和示例:https://codex.wordpress.org/Function_Reference/wp_get_attachment_url

SO网友:rafsuntaskin

 $attachment_link = wp_get_attachment_url( $attachments[0]->ID );
尝试用此链接替换您的链接。您需要传递一个参数来获取作为附件ID的url。