在wordpress中获取附件的文件路径
Getting file path of an attachment in wordpress
我正在尝试获取附件的文件路径,以便将其直接从 Wordpress
中的 custom_post_type
上传到 vimeo,但 $attachment_id
返回 null
。我怎样才能得到 $attachment_id
?
global $attachment_id;
$filepath = get_attached_file( $attachment_id );
$url = 'https://api.vimeo.com/me/videos';
$args = array(
'type'=>'pull',
'link'=>'the_link',
);
$response_vimeo = wp_safe_remote_post ( $url, $args);
根据您尝试执行此代码的情况,有多种可能性。一种可能性是
$post = get_post();
$attachment_id = $post->ID;
或者 id 可能来自 $_POST
或 $_GET
变量。尝试添加 print_r($_POST); print_r($_GET);
并查看如果您提交表单或创建 post.
会得到什么
如果你想得到$attachment_id
。您必须提供要获取其附件的 post_id
。在以下代码的帮助下,您可以获得所有媒体附件,并获得它的路径。
$args = array('post_type'=>'attachment','numberposts'=>null,'post_status'=>null,'post_parent'=> $post->ID // post_id is important.
);
$attachments = get_posts($args);
if($attachments){
foreach($attachments as $attachment){
// here your code
echo $attachment->ID;
}
}
您可以在 for each 中提供您的代码以获取 post 的每个附件。如果您希望获得所有附件,那么您的 $args
变量应该是这样的。
$args = array('post_type'=>'attachment','numberposts'=>-1,'post_status'=>null );
我正在尝试获取附件的文件路径,以便将其直接从 Wordpress
中的 custom_post_type
上传到 vimeo,但 $attachment_id
返回 null
。我怎样才能得到 $attachment_id
?
global $attachment_id;
$filepath = get_attached_file( $attachment_id );
$url = 'https://api.vimeo.com/me/videos';
$args = array(
'type'=>'pull',
'link'=>'the_link',
);
$response_vimeo = wp_safe_remote_post ( $url, $args);
根据您尝试执行此代码的情况,有多种可能性。一种可能性是
$post = get_post();
$attachment_id = $post->ID;
或者 id 可能来自 $_POST
或 $_GET
变量。尝试添加 print_r($_POST); print_r($_GET);
并查看如果您提交表单或创建 post.
如果你想得到$attachment_id
。您必须提供要获取其附件的 post_id
。在以下代码的帮助下,您可以获得所有媒体附件,并获得它的路径。
$args = array('post_type'=>'attachment','numberposts'=>null,'post_status'=>null,'post_parent'=> $post->ID // post_id is important.
);
$attachments = get_posts($args);
if($attachments){
foreach($attachments as $attachment){
// here your code
echo $attachment->ID;
}
}
您可以在 for each 中提供您的代码以获取 post 的每个附件。如果您希望获得所有附件,那么您的 $args
变量应该是这样的。
$args = array('post_type'=>'attachment','numberposts'=>-1,'post_status'=>null );