WordPress函数_wp_relative_upload_path()用法

源代码

File: wp-includes/post.php

function _wp_relative_upload_path( $path ) {
	$new_path = $path;

	$uploads = wp_get_upload_dir();
	if ( 0 === strpos( $new_path, $uploads['basedir'] ) ) {
			$new_path = str_replace( $uploads['basedir'], '', $new_path );
			$new_path = ltrim( $new_path, '/' );
	}

	/**
	 * Filters the relative path to an uploaded file.
	 *
	 * @since 2.9.0
	 *
	 * @param string $new_path Relative path to the file.
	 * @param string $path     Full path to the file.
	 */
	return apply_filters( '_wp_relative_upload_path', $new_path, $path );
}

更新日志

Version描述
2.9.0Introduced.

在WordPress中,_wp_relative_upload_path() 是一个内部函数,用于获取上传文件相对于WordPress上传目录的相对路径。这个函数通常不推荐在主题或插件代码中直接使用,因为它可能会在没有通知的情况下在WordPress的未来版本中更改。
但是,如果你需要这个函数的用法,以下是其基本的使用方法:

$wp_upload_dir = wp_upload_dir();
$relative_path = _wp_relative_upload_path( $file_path );

这里是一个完整的例子:

// 获取WordPress上传目录信息
$wp_upload_dir = wp_upload_dir();
// 定义一个文件路径,假设这个文件位于上传目录内
$file_path = $wp_upload_dir['basedir'] . '/my-custom-folder/my-image.jpg';
// 使用 _wp_relative_upload_path() 获取相对路径
$relative_path = _wp_relative_upload_path( $file_path );
// 输出相对路径
echo $relative_path; // 输出可能是:my-custom-folder/my-image.jpg

在这个例子中,wp_upload_dir() 函数用于获取WordPress的上传目录信息,包括基础的URL和文件路径。然后,我们使用 _wp_relative_upload_path() 函数传入一个完整的文件路径,该函数会返回该路径相对于上传目录的相对路径。
以下是 _wp_relative_upload_path() 函数的参数:

  • $file_path:需要获取相对路径的文件的完整路径。
    返回值:
  • 相对于WordPress上传目录的文件路径。如果文件不在上传目录内,函数将返回 false
    再次强调,由于 _wp_relative_upload_path() 是一个内部函数,因此最好避免在公共代码中使用它。如果你需要获取文件相对于上传目录的路径,可以考虑以下替代方法:
$wp_upload_dir = wp_upload_dir();
$basedir = trailingslashit( $wp_upload_dir['basedir'] );
// 确保文件位于上传目录内
if ( 0 === strpos( $file_path, $basedir ) ) {
    $relative_path = substr( $file_path, strlen( $basedir ) );
} else {
    // 文件不在上传目录内
    $relative_path = false;
}
// 输出相对路径或错误处理
if ( false !== $relative_path ) {
    echo $relative_path;
} else {
    // 错误处理
    echo 'File is not in the upload directory.';
}

在上面的代码中,我们使用了 wp_upload_dir() 来获取上传目录的路径,并使用 strpos()substr() 来计算相对路径。这种方法不依赖于内部函数,因此更加稳定和兼容。

未经允许不得转载:445IT之家 » WordPress函数_wp_relative_upload_path()用法

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏