当前浏览:首页 / WordPress函数 / wp_get_attachment_url()

wp_get_attachment_url( int $attachment_id ): string|false

检索附件的URL

attachment 附件more...

urlmore...


参数

$attachment_idint可选
附件post ID默认为全局$post。

返回

string|false 附件URL,否则为false。


更多信息

您可以通过wp get attachment url过滤器改变此函数的输出。

此函数不会对URL进行URL编码。如果附件的名称中包含无效字符,则应该对该函数的输出进行原始URL编码,以获得有效的URL。

得到相对于根目录的附件URL的示例代码:

<pre>$parsed = parse_url( wp_get_attachment_url( $attachment->ID ) );
$url = dirname( $parsed [ 'path' ] ) . '/' . rawurlencode( basename( $parsed[ 'path' ] ) );</pre>
<pre>

如果您需要:附件页面,而不是附件文件本身,您可以使用:get_attachment_link

另请参阅:wp_insert_attachmentwp_upload_dirwp_get_attachment_image_src


钩子



源码

查看源码 官方文档


更新日志

版本描述
2.1.0开始引入

使用示例

  • 示例1

    基本示例

    <?php echo wp_get_attachment_url( 12 ); ?> 

    输出类似于 http://example.net/wp-content/uploads/filename

  • 示例2

    使用文章缩略图作为背景图像

    if ( have_posts() ) : while ( have_posts() ) : the_post(); 
        if ( has_post_thumbnail() ) {
            $feat_image_url = wp_get_attachment_url( get_post_thumbnail_id() );
            echo '<div style="background-image:url('.$feat_image_url.');"></div>';
        }
        endwhile;
    endif;