get_attached_file()

WordPress获取附件(图片/文件)的文件路径

描述

按附件编号检索附件文件的路径。

也可以选择性地通过’get_attached_file’过滤器发送路径,但默认情况下只返回未过滤的文件路径。

函数获取单个文章的名为”_wp_attached_file”的meta并将其返回。该函数可以防止查找meta名称,也为通过过滤器发送附件文件提供了方法。

用法

<?php get_attached_file( $attachment_id, $unfiltered ); ?>

参数

$attachment_id

(integer) (必填) Attachment ID.

默认值: None

$unfiltered

(boolean) (可选) Whether to apply filters or not.

默认值: false

返回值

(string) 

The file path to the attached file.

示例

$fullsize_path = get_attached_file( $attachment_id ); // Full path
$filename_only = basename( get_attached_file( $attachment_id ) ); // Just the file name

注意

使用到: apply_filters() to call get_attached_file() on file path and $attachment_id.

使用到: get_post_meta() on $attachment_id, the ‘_wp_attached_file‘ meta name.

历史

添加于 版本: 2.0.0

源文件

get_attached_file() 函数的代码位于 wp-includes/post.php.

/**
* Retrieve 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.
*
* @since 2.0.0
*
* @param int  $attachment_id Attachment ID.
* @param bool $unfiltered    Optional. Whether to apply filters. Default false.
* @return string|false The file path to where the attached file should be, false otherwise.
*/

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 && 0 !== strpos($file, ‘/’) && !preg_match(‘|^.:|’, $file) && ( ($uploads = wp_upload_dir()) && false === $uploads[‘error’] ) )

$file = $uploads[‘basedir’] . “/$file”;

if ( $unfiltered )

return $file;

/**

* Filter the attached file based on the given ID.
*
* @since 2.1.0
*
* @param string $file          Path to attached file.
* @param int    $attachment_id Attachment ID.
*/

return apply_filters( ‘get_attached_file’, $file, $attachment_id );

}

相关

Attachment Function(函数)s:

get_children(),
get attached media(),
the_attachment_link(),
get_attachment_link(),
wp_get_attachment_link(),
wp_get_attachment_image(),
wp_get_attachment_image_src(),
wp_get_attachment_url(),
wp_get_attachment_thumb_file(),
wp_get_attachment_thumb_url(),
is_attachment(),
wp_get_attachment_metadata()

原文:http://codex.wordpress.org/Function_Reference/get_attached_file

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索