get_attached_file() — возвращает абсолютный путь файла на сервере

Возвращает полный абсолютный путь вложения на сервере, используя значение произвольного поля _wp_attachment_metadata и функцию wp_upload_dir().

get_attached_file( $attachment_id, $unfiltered = false )
$attachment_id
(целое число) ID вложения
$unfiltered
(логическое) по умолчанию к возвращаемому результату применяется следующий фильтр: apply_filters( 'get_attached_file', $file, $attachment_id );. Eсли вы хотите его отключить, то установите значение данного параметра true.

Пример

echo get_attached_file( 54 );
// выведет например: /home/a/domains/truemisha.ru/www/wp-content/uploads/2013/11/file.jpg

Комментарии 4

  • bmite29 октября 2014 в 23:10 #

    Подскажите, как вывести расширение/формат прикрепленного файла?
    выводится только название прикрепленных файлов :(
    у меня есть такой код:

    <?php
            $args = array(
              'post_type' => 'attachment',
              'post_mime_type' => 'application/zip, application/pdf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document',
              'numberposts' => -1,
              'post_status' => null,
              'post_parent' => $post->ID,
              'orderby' => 'menu_order',
              'order' => 'desc'
              );
            $attachments = get_posts($args);
            if ($attachments) {
              foreach ($attachments as $attachment) {
                echo '<br><li><a href="'.wp_get_attachment_url($attachment->ID).'">';
                echo $attachment->post_title;
                echo ' - скачать</a> </li> ';
              }
            }
        ?>
    • Миша30 октября 2014 в 08:10 #

      В цикле foreach попробуйте сделать это:

      print_r( $attachment );
      • Эдуард30 октября 2014 в 09:10 #

        вот что выводит:
        WP_Post Object ( [ID] => 836 [post_author] => 1 [post_date] => 2014-10-29 13:42:48 [post_date_gmt] => 2014-10-29 09:42:48 [post_content] => [post_title] => Raiffaizenbank-spravka [post_excerpt] => [post_status] => inherit [comment_status] => closed [ping_status] => open [post_password] => [post_name] => raiffaizenbank-spravka [to_ping] => [pinged] => [post_modified] => 2014-10-29 13:42:48 [post_modified_gmt] => 2014-10-29 09:42:48 [post_content_filtered] => [post_parent] => 835 [guid] => http://credit-zdes.ru/wp-content/uploads/2014/10/Raiffaizenbank-spravka.docx [menu_order] => 0 [post_type] => attachment [post_mime_type] => application/vnd.openxmlformats-officedocument.wordprocessingml.document [comment_count] => 0 [filter] => raw )

  • Эдуард30 октября 2014 в 10:10 #

    Может кому пригодится, нашел решение вывода прикрепленных файлов с расширением.

    добавляем код в functions.php

    function get_attachment_icons($echo = false){
     
    	if ( $files = get_children(array(   //do only if there are attachments of these qualifications
    	 'post_parent' => get_the_ID(),
    	 'post_type' => 'attachment',
    	 'numberposts' => -1,
    	 'post_mime_type' => 'application/pdf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/zip, application/vnd.ms-excel, application/vnd.ms-powerpoint',  //MIME Type condition
    	 ))){
    	 foreach( $files as $file ){ //setup array for more than one file attachment
    		$file_link = wp_get_attachment_url($file->ID);    //get the url for linkage
    		$file_name_array=explode("/",$file_link); 
    		$file_name=array_reverse($file_name_array);  //creates an array out of the url and grabs the filename
    		$sAttachmentString .= "<li>";
    		$sAttachmentString .= "<a href='$file_link'>$file_name[0]</a>";
    		$sAttachmentString .= "</li>";
    		}
    	}
     
     
    if($echo){
        echo $sAttachmentString;
      }
      return $sAttachmentString;
    }
    add_shortcode('attachment icons', 'get_attachment_icons');

    теперь там где надо вывести список прикрепленных файлов добавляем код:

    <ul>
        <?php get_attachment_icons($echo=true); ?>
        </ul>

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Добрый день! В принципе вам только немного нужно доработать код из этого поста - категории уже есть, цена - это и так...

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...