Получение пути к файлу вложения в 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 );     
Другие вопросы по тегам