Broco Broco

Получение картинок прикрепленных к посту в WORDPRESS

29.01.10 / Категории PHP, Wordpress | Оставить комментарий

Итак как же получить картинки поста в Wordpress. Это касается не только картинок но и к примеру прикрепленных flv файлов и других документов.

В общем получается все это следующим образом.

<?php 
$images = get_children(
array(
'post_parent' => $postID,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image'
)
);
 
			if($images) { 
			  foreach ( $images as $id => $image ) {
			    $img = wp_get_attachment_url( $image->ID );
			    echo '<img src="'.$img.'" alt="" />';
			  }
			}
?>

Этот код получает и выводит все изображения прикрепленные к посту с id = $postID

Для того чтобы отсортировать изображения в соответствии с menu_order (очередь) значением, которое вы можете менять в окне Gallery(Галерея) поста.

Нужно определить и выполнить после получения изображений функцию.

<?php 
function menuOrderCompare($a, $b) {
    if ( $a->menu_order === $b->menu_order) {
      return 0; 
   }
   return ( $a->menu_order < $b->menu_order) ? -1 : 1;
}	
?>

Вот код получения изображений с сортировкой по полю menu_order.

     <?php 
 
function menuOrderCompare($a, $b) {
  if ( $a->menu_order === $b->menu_order){
    return 0; 
  }
  return ( $a->menu_order < $b->menu_order) ? -1 : 1;
}		
 
$images = get_children(
array(
'post_parent' => $postID,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image'
)
);
 
			if($images) { 
			  usort($images, "menuOrderCompare");
			  foreach ( $images as $id => $image ) {
			    $img = wp_get_attachment_url( $image->ID );
			    echo '<img src="'.$img.'" alt="" />';
			  }
			}
?>

Замените ‘post_mime_type’ => ‘image’ на ‘post_mime_type’ => ‘video’ и вы получите прикрепленные ролики.
Кстати flv ролик может иметь как video mime type, так и application mime type.

Комментарии

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