wp_get_attachment_link

函数
wp_get_attachment_link ( $post = 0, $size = 'thumbnail', $permalink = false, $icon = false, $text = false, $attr = '' )
参数
  • (int|WP_Post) $post Optional. Post ID or post object.
    Required:
  • (string|int[]) $size Optional. Image size. Accepts any registered image size name, or an array of width and height values in pixels (in that order). Default 'thumbnail'.
    Required:
    Default: 'thumbnail'
  • (bool) $permalink Optional. Whether to add permalink to image. Default false.
    Required:
    Default: false
  • (bool) $icon Optional. Whether the attachment is an icon. Default false.
    Required:
    Default: false
  • (string|false) $text Optional. Link text to use. Activated by passing a string, false otherwise. Default false.
    Required:
    Default: false
  • (array|string) $attr Optional. Array or string of attributes. Default empty.
    Required:
    Default: (empty)
返回值
  • (string) HTML content.
定义位置
相关方法
get_attachment_linkwp_get_attachment_urlwp_get_attachment_captionget_the_attachment_linkwp_get_attachment_image
引入
2.5.0
弃用
-

wp_get_attachment_link: 这个函数检索一个附件的HTML链接。它把附件的ID作为第一个参数,还有一个可选的图片大小的参数。如果没有指定尺寸,它使用默认的缩略图尺寸。

如果可能的话,使用图像或图标检索一个附件页链接。

function wp_get_attachment_link( $post = 0, $size = 'thumbnail', $permalink = false, $icon = false, $text = false, $attr = '' ) {
	$_post = get_post( $post );

	if ( empty( $_post ) || ( 'attachment' !== $_post->post_type ) || ! wp_get_attachment_url( $_post->ID ) ) {
		return __( 'Missing Attachment' );
	}

	$url = wp_get_attachment_url( $_post->ID );

	if ( $permalink ) {
		$url = get_attachment_link( $_post->ID );
	}

	if ( $text ) {
		$link_text = $text;
	} elseif ( $size && 'none' !== $size ) {
		$link_text = wp_get_attachment_image( $_post->ID, $size, $icon, $attr );
	} else {
		$link_text = '';
	}

	if ( '' === trim( $link_text ) ) {
		$link_text = $_post->post_title;
	}

	if ( '' === trim( $link_text ) ) {
		$link_text = esc_html( pathinfo( get_attached_file( $_post->ID ), PATHINFO_FILENAME ) );
	}

	$link_html = "<a href='" . esc_url( $url ) . "'>$link_text</a>";

	/**
	 * Filters a retrieved attachment page link.
	 *
	 * @since 2.7.0
	 * @since 5.1.0 Added the `$attr` parameter.
	 *
	 * @param string       $link_html The page link HTML output.
	 * @param int|WP_Post  $post      Post ID or object. Can be 0 for the current global post.
	 * @param string|int[] $size      Requested image size. Can be any registered image size name, or
	 *                                an array of width and height values in pixels (in that order).
	 * @param bool         $permalink Whether to add permalink to image. Default false.
	 * @param bool         $icon      Whether to include an icon.
	 * @param string|false $text      If string, will be link text.
	 * @param array|string $attr      Array or string of attributes.
	 */
	return apply_filters( 'wp_get_attachment_link', $link_html, $post, $size, $permalink, $icon, $text, $attr );
}

常见问题

FAQs
查看更多 >