📜  WP 上传媒体路径 - PHP (1)

📅  最后修改于: 2023-12-03 15:35:44.791000             🧑  作者: Mango

WP 上传媒体路径 - PHP

在WordPress中,我们可以使用内置的“媒体库”来上传和管理我们的图像、音频、视频等。在上传媒体文件时,WordPress会将文件保存到我们指定的目录中。这个目录可以通过代码覆盖或者更改。

在本文中,我们将看到如何使用PHP代码更改WordPress上传媒体的路径。

获取上传媒体的路径

在WordPress中,我们可以使用wp_upload_dir()函数获取媒体上传目录的详细信息,如下所示:

$upload_dir = wp_upload_dir();
print_r($upload_dir);

这将返回一个包含上传目录的路径、URL、基本目录等信息的数组。以下是返回的示例:

Array
(
    [path] => /home/user/public_html/wp-content/uploads/2021/01
    [url] => http://example.com/wp-content/uploads/2021/01/
    [subdir] => /2021/01
    [basedir] => /home/user/public_html/wp-content/uploads
    [baseurl] => http://example.com/wp-content/uploads
    [error] => 
)

从上面的返回中,我们可以看到path键包含上传媒体的实际路径。url键包含上传媒体文件的URL路径。

更改上传媒体的路径

要更改上传媒体的路径,我们需要使用upload_dir过滤器。我们可以将此过滤器用于更改媒体上传路径和URL等信息。

以下是一个使用upload_dir过滤器更改默认媒体上传路径的示例:

add_filter( 'upload_dir', function( $upload_dir ) {

    $upload_dir['subdir'] = '/media';
    $upload_dir['path'] = $upload_dir['basedir'] . $upload_dir['subdir'];
    $upload_dir['url'] = $upload_dir['baseurl'] . $upload_dir['subdir'];
    return $upload_dir;
 
} );

在上面的示例中,我们将subdir值设置为/media,这将把我们的上传媒体路径更改为/wp-content/uploads/media。此外,我们还更改了pathurl变量的值以反映新路径。

使用上述代码,您可以更改上传媒体路径,以便将其保存到新的目录中。

总结

在WordPress中,我们可以使用内置的wp_upload_dir()函数来获取上传媒体目录的详细信息。我们还可以使用upload_dir过滤器更改上传媒体路径和URL等信息。以上是关于WP 上传媒体路径和如何使用PHP更改上传媒体路径的解释。