get_attached_file

函数


get_attached_file ( $attachment_id, $unfiltered = false )
参数
  • (int)
    $attachment_id
    Attachment ID.
    Required:
  • (bool)
    $unfiltered
    Optional. Whether to apply filters. Default false.
    Required:
    Default: false
返回值
  • (string|false) The file path to where the attached file should be, false otherwise.
定义位置
  • wp-includes/post.php
    , line 723
引入
2.0.0
弃用

Retrieves attached file path based on attachment ID.

By default the path will go through the ‘get_attached_file’ filter, but
passing a true to the $unfiltered argument of get_attached_file() will
return the file path unfiltered.

The function works by getting the single post meta name, named
‘_wp_attached_file’ and returning it. This is a convenience function to
prevent looking up the meta name and provide a mechanism for sending the
attached filename through a filter.

function get_attached_file( $attachment_id, $unfiltered = false ) {
	$file = get_post_meta( $attachment_id, '_wp_attached_file', true );

	// If the file is relative, prepend upload dir.
	if ( $file ) {
		$uploads = wp_get_upload_dir();

		if ( false === $uploads['error'] ) {
			$file = path_join( $uploads['basedir'], $file );
		}
	}

	if ( $unfiltered ) {
		return $file;
	}

	/**
	 * Filters the attached file based on the given ID.
	 *
	 * @since 2.1.0
	 *
	 * @param string|false $file          The file path to where the attached file should be, false otherwise.
	 * @param int          $attachment_id Attachment ID.
	 */
	return apply_filters( 'get_attached_file', $file, $attachment_id );
}