wp_get_attachment_url()中没有域名的文件路径

时间:2014-12-31 08:11:32

标签: wordpress codex

wp_get_attachment_url()处理完整的文件路径,如

http://example.com/wp-content/uploads/2014/12/aura.mp3

我想要没有http://example.com/的网址 所以,我希望上面的示例为wp-content/uploads/2014/12/aura.mp3,而不是http://example.com/wp-content/uploads/2014/12/aura.mp3。怎么做?

4 个答案:

答案 0 :(得分:0)

您可以通过 / 轻松explode,然后使用索引3进行部分。示例

$url = wp_get_attachment_url(id); //id is file's id
$urllocal = explode(site_url(), $url)[1]; //output local path

答案 1 :(得分:0)

您可以使用PHP的函数explode

以下是代码:

    <?php
         $image_url = wp_get_attachment_url( 9 ); //ID of your attachment
         $my_image_url = explode('/',$image_url,4);
         echo $my_image_url[3];
    ?>

答案 2 :(得分:0)

您可以从头开始implode/上的整个URL,然后将其内插到array_slice上。

/

这样,如果您的WordPress位于子域或本地主机上,或者图像位于S3上,则不会崩溃。

答案 3 :(得分:0)

这是使用 WordPress 功能的 WordPress 方式(避免黑客攻击):

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

WordPress 有很多功能,所以首先尝试在文档中找到该功能:https://developer.wordpress.org/reference/functions/get_attached_file/