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
。怎么做?
答案 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/