Получение пути к файлу вложения в WordPress
Я пытаюсь получить путь к файлу вложения, чтобы он загружался в Vimeo непосредственно из custom_post_type
в Wordpress
но $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);
2 ответа
Есть много возможностей в зависимости от ситуации, в которой вы пытаетесь выполнить этот код. Одна из возможностей
$post = get_post();
$attachment_id = $post->ID;
Или, может быть, идентификатор приходит с $_POST
или же $_GET
переменная. Попробуйте добавить print_r($_POST); print_r($_GET);
и посмотрите, что вы получите, если отправляете форму или создаете сообщение.
Если вы хотите получить $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;
}
}
Вы можете предоставить свой код для каждого, чтобы получить каждое вложение сообщения. Если вы хотите получить все вложения, чем ваш $args
переменная должна быть такой.
$args = array('post_type'=>'attachment','numberposts'=>-1,'post_status'=>null );