Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Написан скрипт, который перебирает картинки и выводит только у которых подходящее разрешение. Скрипт со своей задачей справляется, но работает долго. 

Задача максимально увеличить загрузку страницы с подходящими картинками.

global $more;

$more = 0;

$fit_images = array(); //пустой массив для отбора ID подходящих изображений

$whole_args = array(

   'post_type' => 'attachment',

   'posts_per_page' => - 1,

);

$prepare_attachments = get_posts($whole_args); //проходим все картинки, отсеиваем подходящие

if ($prepare_attachments)

   {

   foreach($prepare_attachments as $prepare_attachment)

      {

      $meta = wp_get_attachment_metadata($prepare_attachment->ID);

      $wsize = $meta[width];

      $hsize = $meta[height];

      if ($wsize == 1600 and $hsize == 1200) //подставить свои значения

         { 

         array_push($fit_images, $prepare_attachment->ID);

         }

      }

   }

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

$filtered_args = array( 

   'post_type' => 'attachment',

   'posts_per_page' => 21, //показываем все отобранные картинки по 5 единиц на странице

   'post_status' => 'inherit',

   'orderby' => 'rand',

   'paged' => $paged,

   'post__in' => $fit_images

);

$fit_attachments = new WP_Query($filtered_args); //используем WP_Query, потому что wp_pagenavi плагин работает только с ним

if ($fit_attachments->have_posts())

   {

   while ($fit_attachments->have_posts())

      {

      $fit_attachments->the_post();

      $meta = wp_get_attachment_metadata(get_the_id()); //опционально, можно убирать

      $wsize = $meta[width]; //опционально, можно убирать

      $hsize = $meta[height]; //опционально, можно убирать

      $url = get_the_guid(get_the_id());

      echo '

';

      echo wp_get_attachment_image(get_the_id() , 'f300x170');

      echo '

' . get_the_title() . ' Resolution: ' . $wsize . ' x ' . $hsize . ' ';

      }

   }

?>

8 лет назад
itadesign
Эльдар 
32 годаУкраина
12 лет в сервисе
Был
2 месяца назад
Выбранный исполнитель
yevhen
36 летУкраина
13 лет в сервисе
Был
2 года назад
7 лет назад
$10
2 дня
Евгений отлично справился с задачей. Скрипт оптимизирован и работает намного лучше оригинального. Рекомендую к сотрудничеству.
Рекомендую Эльдара как хорошего, ответственного заказчика!