在wordpress中获取附件的文件路径

时间:2015-12-19 15:33:30

标签: wordpress vimeo vimeo-api

我正在尝试获取附件的文件路径,以便直接从custom_post_type中的Wordpress上传到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);  

2 个答案:

答案 0 :(得分:0)

根据您尝试执行此代码的情况,有很多种可能性。一种可能性是

$post = get_post();
$attachment_id = $post->ID;

或者ID可能来自$_POST$_GET变量。尝试添加print_r($_POST); print_r($_GET);,看看如果您提交表单或创建帖子,您会得到什么。

答案 1 :(得分:0)

如果你想获得$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 );