Поддержка Проблемы и решения Размер картинок в the_content

  • Решено AVILOT

    (@avilot-ru)


    Все доброго вечера!

    Помоги, пожалуйста, составить функцию для functions.php
    При выводе контента записи, картинки выводятся «Размер миниатюры» (также этот размер указывался при создании записи)
    Сейчас необходимо при выводе контента (the_content) в постах вывести «Крупный размер» картинок.

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Модератор SeVlad

    (@sevlad)

    wp.me/P3YHjQ-3

    При выводе контента записи, картинки выводятся «Размер миниатюры»

    Картинки в контенте выводятся в те и том размере в котором задано при создании поста. Т.е. в пост вставляется просто html-код.
    Если Вам нужно изменить этот html-код, то это можно сделать с пом плагина замены в контенте с поддержкой регулярных выражений. Напр этим: https://ru.wordpress.org/plugins/search-regex/

    в записи <a href="ссылка на полный размер.jpg"><img src="ссылка на маленькую картинку-160x160.jpg" width="160" height="160" /></a>

    Может как-то через add_filter заменить содержимое src на то что в href ?

    • Ответ изменён 6 мес. назад пользователем  AVILOT.
    • Ответ изменён 6 мес. назад пользователем  AVILOT.
    • Ответ изменён 6 мес. назад пользователем  AVILOT.
    Модератор Юрий

    (@yube)

    Может как-то через add_filter заменить содержимое src на то что в href ?

    Можно. php и regexp знаете?

    Модератор SeVlad

    (@sevlad)

    wp.me/P3YHjQ-3

    Может как-то через add_filter заменить содержимое src на то что в href ?

    Можно, но зачем нагружать лишней работой сайт? Причем постоянной, при каждом вызове каждого поста, вместо «одноразовой инъекции». Получить тот же результат, только проще и безопасней можно с пом. вышеуказанного плагина.

    А знание регулярок и умение читать html-код понадобятся в любом случае.

    Дело все в мобильной версии.
    На основном сайте размер норма в мобильной уже не то что надо.

    Прицепил к картинкам class,

    add_filter('the_content','addhighslideclass_replace');
    function addhighslideclass_replace ($content)
    {global $post;
    $pattern = "/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>(.*?)<\/a>/i";
    $replacement = '<a$1href=$2$3.$4$5 class="highslide-image"$6>$7</a>';
    $content = preg_replace($pattern,$replacement,$content);
    return $content;
    }

    думал через css изменю размер. Размытые получаются.

    как заменить содержимое src на то что в href пока не могу понять. А дальше через css подправлю все как надо.

    Наверное через search-regex будет правильнее все изменить добавить css для основного сайта, и для мобильной версии. SeVlad, спасибо! Меньше всего проблем.

    Модератор SeVlad

    (@sevlad)

    wp.me/P3YHjQ-3

    думал через css изменю размер. Размытые получаются.

    Размытые наверно при сильной разнице в размерах или нарушении пропорций.
    Правильнее, конечно, для разных размеров экрана (как вариант — UA или девайс) загружать свои картинки. И это уже не css.

    Все решил. Через search-regex заменил <img src="ссылка на маленькую картинку-160x160.jpg" width="160" height="160" />
    на
    <img src="ссылка на полный размер.jpg" /> лишнее все убрал. css поправил. Все как надо заработало. Спасибо ребята! Тема закрыта.

    • Ответ изменён 6 мес. назад пользователем  AVILOT.
Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Тема «Размер картинок в the_content» закрыта для новых ответов.