2016-01-16 3 views
0

Все еще учась и чувствую, что я всего в нескольких шагах, поэтому я ценю вашу помощь!wordpress/php get_attachment_url на основе uid и post parent id

Имейте несколько дочерних сообщений, каждый из которых должен возвращать URL-адрес приложения в зависимости от того, что он загрузил. Использование массива для сбора вложенных вложений. Мне как-то удалось заставить его работать, но он возвращает все, загруженные от этого пользователя, когда я хочу, чтобы он просто возвращал самую последнюю загрузку от этого пользователя. Любое использование «max» для выполнения этого, похоже, выдает ошибку. Пятая строка снизу - это проблема. Я использую post_date, чтобы попытаться выполнить это, но я думаю, что идентификатор тоже будет достаточным. Благодарим вас за любой вклад, который вы можете предоставить.

  $exclude = array(); 

     $args = array(
      'order'   => 'ASC', 
      'post_type'  => 'attachment', 
      'post_mime_type' => 'image', 
      'post_parent' => $pid, 
      'numberposts' => -1, 
      'post_status' => null, 
     ); 

     $attachments = get_posts($args); 

     foreach($attachments as $att) $exclude[] = $att->ID; 

     $args = array(
      'order'   => 'ASC', 
      'post_type'  => 'attachment', 
      'post_parent' => $pid, 
      'post_author' => $uid, 
      'ID'    => $pkey, 
      'exclude' => $exclude, 
      'numberposts' => -1, 
      'post_status' => null, 
     ); 
     $attachments = get_posts($args); 



     if(count($attachments) == 0) echo __('No project files.','ProjectTheme'); 

        foreach($attachments as $at) { 
        if($at->post_author == $user->ID) { 
         if($at->post_parent == $row->pid) { 
          if($at->post_date == $at['max(post_date)']) { 
          $fileName = wp_get_attachment_url($at->ID); 
          echo '<div>'. mp3j_put('[mp3j track="' . $fileName . '" flip="y"]').'</div><br>'; 
             }}}} 
              ; 
+0

Является ли это wordpress? – cklm

ответ

0

В результате я решил использовать SQL для решения этой проблемы с помощью нижеприведенного решения.

$audiolinks = "select ID, post_author, post_parent, max(post_date), guid 
    from ".$wpdb->prefix."posts 
    where post_author='$user->ID' AND post_parent ='$pid' order by id DESC"; 
$audiolink = $wpdb->get_results($audiolinks); 
$filelink = wp_get_attachment_url($audiolink[0]->ID); 
$fileauthor = $user->user_login; 
$filetitle = $post->post_title; 
echo '<div style="padding-top: 10px">' 
    . mp3j_put('[mp3j track="' . $filelink . '" title="Play Audition: ' 
    . $fileauthor . " - " . $post->post_title 
    . '" flip="y"]').'</div><br>'; 
Смежные вопросы