Фрилансеры предложат решение вашей задачи уже через несколько минут!

Публикация заказа на фриланс бирже не займет много времени.

3 года назад
Эльдар А.
Эльдар А. 
27 лет, Украина
7 лет в сервисе
Был онлайн 8 часов назад
3 года назад

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

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

<?php
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 '<div class="wall-post"><a href="' . $url . '" class="thumb">';
      echo wp_get_attachment_image(get_the_id() , 'f300x170');
      echo '<div class="tits">' . get_the_title() . '</div></a> <span>Resolution: ' . $wsize . ' x ' . $hsize . '</span> </div>';
      }
   }
?>

Выбранный исполнитель
Евгений А.
31 год, Украина
8 лет в сервисе
Был онлайн 1 год назад
3 года назад

$10

2 дня

Отзыв заказчика
Евгений отлично справился с задачей. Скрипт оптимизирован и работает намного лучше оригинального. Рекомендую к сотрудничеству.
Отзыв фрилансера
Рекомендую Эльдара как хорошего, ответственного заказчика!
Евгений А.
31 год, Украина
8 лет в сервисе
Был онлайн 1 год назад
3 года назад
Александр Литвин
32 года, Россия
3 года в сервисе
Был онлайн 3 года назад
3 года назад
Иван К.
Иван К. 
39 лет, Россия
6 лет в сервисе
Был онлайн 1 месяц назад
3 года назад
Константин П.
26 лет, Украина
3 года в сервисе
Был онлайн 2 года назад
3 года назад
Александр И.
33 года, Россия
4 года в сервисе
Был онлайн 2 года назад
3 года назад
Сергей Брежнев
47 лет, Украина
10 лет в сервисе
Был онлайн 12 часов назад
3 года назад

Другие заказы в категории «Веб-программирование»

Здесь заказчик и фрилансеры могут обсуждать заказ до начала его выполнения.
Фрилансеры могут участвовать в обсуждении только после подачи заявки.
Здесь заказчик будет контролировать выполнение заказа и общаться с исполнителем.
Доступ к этому разделу имеют только заказчик и выбранный исполнитель.
Все материалы этого раздела закрыты от поисковых систем.