描述
这可以在WordPress循环中使用,也可以在其外部使用。
参数
- $post
-
(int|object)(可选) Post ID或对象。默认使用全局
$post
。默认值: null
- $leavename
-
(bool)(可选) 是否保留页面名称。
默认值: false
返回
(string) 附件固定链接。
说明
在“优雅的”固定链接结构下,函数返回类似http://wp.example.net/path_to_post/post_name/attachment_name的值。
在默认的固定链接结构下,或者如果WordPress无法构造一个优雅的URI,则函数返回类似http://wp.example.net/?attachment_id=n的内容,其中n是附件ID号。
您可以通过attachment_link过滤器更改此函数的输出。
如果您想直接链接到附件(而不是附件页面),可以使用函数wp_get_attachment_url(id)。
注意:get_attachment_link 实际上返回一个URI,而 wp_get_attachment_link()返回HTML超链接。
源码
更新日志
版本 | 描述 |
---|---|
2.0.0 | 开始引入 |
使用示例
默认用法
由于标签不显示permalink,因此示例使用PHP echo命令。<?php $attachment_id = 1; // ID of attachment $attachment_page = get_attachment_link( $attachment_id ); ?> <a href="<?php echo esc_url( $attachment_page ); ?>"><?php echo get_the_title( $attachment_id ); ?></a>
将附加的图片和标题显示为列表
要显示附加到特定页面的图像并将其显示为项目符号列表,可以使用以下选项:<ul> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); $args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => null, 'post_parent' => $post->ID ); $attachments = get_posts( $args ); if ( $attachments ) { foreach ( $attachments as $attachment ) { echo '<li>'; the_attachment_link( $attachment->ID, true ); echo '<p>'; echo apply_filters( 'the_title', $attachment->post_title ); echo '</p></li>'; } } endwhile; endif; ?> </ul>