Подключение миниатюр wordpress, их настройка и использование. Auto Post Thumbnail — создание миниатюр к постам автоматически Первое изображение в миниатюру плагин wordpress

Подключение миниатюр wordpress, их настройка и использование. Auto Post Thumbnail — создание миниатюр к постам автоматически Первое изображение в миниатюру плагин wordpress

01.12.2020

Потрясающая фишка в WordPress!

Начну с нуля. Итак, для начала вы должны понять разницу между миниатюрами и обычными изображениями из поста. Миниатюра — это что-то вроде превьюшки к посту, в самом посте она может даже и не использоваться.

Предположим, у вас есть какая-то категория, и на странице этой категории перед некоторыми записями (а может быть и перед каждой) есть какая-то картинка, которая по сути и является превьюшкой поста, т.е. миниатюрой. Если мы перейдем на страницу одной из записей, то можем найти эту картинку в её содержимом, а можем и не найти.

В общем ладно, в двух словах, миниатюра — это изображение-превью к постам, которое:

  • может использоваться, а может и не использоваться в содержимом поста,
  • может выводиться вместе ссылкой на пост на страницах категорий, меток, архивов и т.д.,
  • может автоматически подгоняться под определенный размер (я имею ввиду разрешение изображения),

По сути вы можете использовать ее даже в качестве фона сайта, т.е. для каждой записи — собственный фон.

Шаг 1. Включение поддержки миниатюр для вашей темы WordPress

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

Всё, что нам потребуется для активации миниатюр — это вставить следующую строчку кода в ваш файл functions.php (файлов с таким названием может быть много — нам нужен именно тот, который находится непосредственно в папке с вашей текущей темой).

Если вы не хотите использовать миниатюры во всех сразу, вы можете подключить их например только для записей (post):

или только для записей и только для страниц:

add_theme_support( "post-thumbnails" , array ( "post" , "page" ) ) ;

Можно ли назначить миниатюру таксономии WordPress?

Стандартными средствами — нет. Вы можете использовать какой-нибудь из плагинов, добавляющих для (рубрик и меток в том числе), либо прописать URL изображения в описании вашего конкретного элемента таксономии.

Шаг 2. Как установить миниатюру для поста?

Вообще есть два способа установки миниатюр через админку. Они друг от друга особо ничем не отличаются — можете использовать тот, который покажется вам удобнее.

Способ 1. Метабокс «Миниатюра записи»

Он вот такой:

">

">

Этот пример выводит заголовки (функция ) и миниатюры постов со ссылками (функция ) на сам пост.

Тот же самый пример для функции :

">

">

Получение URL миниатюры при помощи функции wp_get_attachment_image_src() и get_post_thumbnail_id()

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля - .

Хочу рассмотреть очень полезный плагин, который здорово может облегчить работу в некоторых ситуациях. Представьте, что вы вели блог несколько лет,
скажем, начали где-то в 2009, а теперь хотите модернизировать внешний вид (шаблон), добавив современных опций на сайте, например, те же похожие посты с миниатюрами. Учитывая, что поддержка thumbnail в wordpress была введена значительно позже, картинки у вас, судя по всему, находятся внутри статьи прямо в тексте. Получается, что у вас есть 2 варианта решения задачи – использовать совмещение миниатюр и скрипта первой картинки поста либо вручную для каждой статьи создавать миниатюры. В первом случае появляется ощущение «вынужденного» и не совсем оптимального решения, второй и вовсе может заставить вас потратить 4-5 часов на возню с картинками. К счастью, недавно нашел еще и третий вариант – плагин Auto Post Thumbnail .

Данный модуль позволяет генерировать миниатюры (thumbnails) из первой картинки в тексте для любых постов блога или записей пользовательских типов. Если первое изображение не найдено, плагин автоматически продолжит поиск пока миниатюра не будет создана. В том случае, если для записи thumbnails уже установлено, просто ничего не произойдет. Короче говоря, принцип работы предельно прост и логичен. Кстати, если же по каким-то причинам вы хотите запретить формирование миниатюры для того или иного поста, тогда создаете произвольное поле (custom field) skip_post_thumb в соответствующей записи.

Установка плагина элементарна и выполняется как всегда: классический метод путем скачивания файлов модуля с официального сайта (http://wordpress.org/extend/plugins/auto-post-thumbnail/), его распаковки и загрузки на ФТП в директорию /wp-content/plugins/ с последующей активацией в разделе «Плагины» из админки; либо в пункте меню «Добавить плагин» ищите модуль по названию «Auto Post Thumbnail», где скачиваете и активируете его. Вот и все!

После установки у вас появится новый пункт меню – Auto Post Thumbnail , где имеется всего одна кнопка для начала работы – Generate Thumbnails. Там же указано примечание, о котором я говорил выше – перед запуском просят установить произвольные поля skip_post_thumb для постов, где не хотите ничего генерировать. Если таковых нет, просто кликаем по кнопке.

О ходе процесса обработки всех постов блога будете проинформированы с помощью специального статусбара. После завершения обработки увидите соответствующее уведомление.

Можете пройтись по постам дабы убедиться в правильности работы данного плагина. Также советую проверить внешний вид блога и насколько корректно отображаются посты. Есть вероятность что для выбранного wordpress шаблона у вас по умолчанию в коде было добавлено отображение миниатюр. В итоге получится что-то вроде этого (когда выводится и картинка из поста, и thumbnail):

Первое, о чем могли подумать – нужно удалить картинки из постов. Но не спешите этого делать, а то получается опять лишняя работа – можно было изначально тогда не запускать плагин, а пройтись по всем статьям блога вручную меняя картинку на миниатюру. Дабы исправить эти ошибки, мы просто внесем некоторые правки в шаблон.

Этот код отобразит краткий анонс поста блога без выделений и картинок исключительно в текстовом виде. Дальше в файле шаблона для отображения полного текста заметки (single.php) мы наоборот находим функцию миниатюр the_post_thumbnail и удаляем уже ее. Как правило, она выводится со следующим кодом:

"alignleft post_thumbnail")); } ?>

В итоге должно получится, что на всех страницах со списками новостей будут отображать миниатюры + краткий текст, а на полных записях – все то оформление и изображения, которые вы задаете в редакторе. Решение, я считаю, достаточно гибкое, а плагин Auto Post Thumbnail работает на отлично! Кстати, если вы покупаете сайты и приходится иногда переделывать откровенные ГС в более-менее красивые проекты, данный модуль точно пригодится – могу сказать по личному опыту.

Миниатюры к статьям на wordpress блоге – это очень простая и удобная функция, позволяющая в считанные секунды снабдить пост поясняющим изображением. Но, учитывая что поддержка миниатюр в платформе wordpress о достаточно недавно, многие шаблоны его попросту не поддерживают и поясняющие картинки в старых шаблонах стоят прямо в тексте.

И, при попытке использовать функцию миниатюр в шаблоне происходит дублирование картинок – остается старая картинка и появляется миниаютюра. Хорошо, если блог ведется несколько месяцев, а если несколько лет (не заниматься же возней с картинками целый день)? Но, и это можно решить с помощью замечательного плагина Auto Post Thumbnail.

Плагин Auto Post Thumbnail позволяет миниатюры картинки из первого изображения в посте. Если же миниаютюра уже установлена, то ничего не происходит. Плагин работает очень просто, а главное эффективно.

Установка данного плагина предельно проста, просто скачиваете его с официального сайта разработчика и устанавливаете, загрузив его в папку с плагинами с помощью ФТП соединения или обычной загрузкой из админки блога.

После того, как вы установили плагин у Вас в меню блога появится новый пункт с названием плагина — Auto Post Thumbnail, в котором сущесвует всего одна кнопка Generate Thumbnails, нажав на которую произойдет генерация миниатюр ко всем существующим постам в вашем блоге.

После завершения работы плагина рекомендую пройтись по блогу, для того, чтобы проверить насколько корректно отображаются посты. Если происходит дублирование – две картинки в качестве миниатюры, то вероятно в вашем шаблоне ранее была поддержка миниатюр и, чтобы исправить эти ошибки нужно внести некоторые изменения в коде шаблона. А именно отредактировать функцию the_content заменив ее с php_the_content на

во всех файлах темы в home.php, archive.php, index.php и других, везде, где она присутствует.

После этого в кратких записях должны выводится миниаютюры, а в полных то изображение, которое вы задаете к посту. Но еще раз скажу, проще использовать современные шаблоны, поддерживающие все нужные функции, тот же templatemonster предлагает качественные wordpress шаблоны для вас . причем имеются как платные, так и бесплатные варианты. Но. если вы не хотите расставаться с каким — либо полюбившимся шаблоном, то это способ для вас.

Данный плагин поможет какому – нибудь старому, но очень дорогому вам проекту, обрести современный вид.

О плагине создания миниатюр для WordPress

После активации, плагин ничего не делает, чтобы он начал работать нужно будет редактировать шаблон (вызывать функции в том месте, где необходимы миниатюры изображений). Если просто установить и активировать плагин, он ничего делать не будет!

В целом, скрипт очень похож на timthumb.php, однако отличается и в чем-то лучше:

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

    Работает немного быстрее timthumb.php - я сделал все чтобы скрипт работал максимально быстро, никаких проверок без острой необходимости, во всем этом помогает кэш;

    Кэш чиститься вручную. В timthumb.php кэш постоянно проверяется, старые файлы удаляются. На проверку уходят ресурсы (мелочь, но все же). На этом можно экономить;

    Ресайзинг можно использовать прямо в посте, указав картинке class mini и нужные размеры;

    Гораздо удобнее использовать при интеграции в тему WordPress: не нужно получать значение произвольного поля, проверять существует ли поле, чтобы вывести картинку заглушку. Все это будет делаться автоматом.

  1. На timthumb.php много хакерских атак.

Принцип работы Kama Thumbnail

Создает папку кэша: wp-content/cache/thumb . В нее будут создаваться все миниатюры.

Миниатюры создаются всякий раз, когда вызывается одна из функций плагина для создания миниатюры - их всего 3: kama_thumb_src() , kama_thumb_img() , kama_thumb_a_img() . В функцию можно передать размеры миниатюры и URL картинки из которой нужно сделать миниатюру. URL картинки можно не передавать, тогда функция будет искать картинку для текущей записи.

Как плагин ищет картинку для текущей записи? При публикации или обновлении поста, плагин ищет ссылку на оригинал картинки и записывает её в произвольное поле поста, затем в теме по этой ссылке создается миниатюра. Ссылка определяется в следующем порядке:

    Если у поста установлена миниатюра WordPress, её ссылка будет взята;

    Если у поста нет ни миниатюры WP ни картинки в тексте, то плагин проверит нет ли у поста загруженной для него картинки (вложения). Если вложение есть, то ссылка будет взята от туда;

  1. Если ничего не найдено, то в произвольное поле будет добавлена запись-заглушка: "no_photo". Нужно это, чтобы не производить каждый раз эти операции по поиску ссылки.

При удалении плагин удаляет за собой все: произвольные поля, опции в базе данных, кэш картинок, папку кэша.

Использование (параметры)

После установки плагина в шаблоне можно использовать функции:

// возвращает УРЛ созданной миниатюры echo kama_thumb_src($args, $src); // возвращает готовую картинку (img тег) echo kama_thumb_img($args, $src); // возвращает ссылку-картинку. Ссылка ведет на оригинал картинки. echo kama_thumb_a_img($args, $src); // получает ширину или высоту картинки. Или любое свойство экземпляра класса, // который создает картинку. Обычно там могут пригодится только ширина или высота... // функция нужна, когда создается миниатюра без заранее известной ширины или высоты... echo kama_thumb($optname); // Пример: echo ""; // но в данном случае лучше использовать готовую kama_thumb_img() она все это учитывает... $args(строка/массив)

Аргументы по которым создавать миниатюру. Все возможные параметры:

$src(строка)

В этом случае плагине не будет пытаться получить ссылку из поста, а будет обрабатывать указанную тут картинку.

Можно указать число, тогда плагин будет считать что указано ID вложения - медиафайла WordPress и сам получит URL этого медиафайла и обработает его...

По умолчанию: ""

Если параметр передается как массив, то второй аргумент $src можно передать в этом массиве, под ключом: src , url , link или img:

Echo kama_thumb_img(array("src" => "http://yousite.com/IMAGE_URL.jpg", "w" => 150, "h" => 100,));

Заметки

Параметры можно указывать строкой или массивом
// строкой kama_thumb_img("w=200 &h=100 &alt=название картинки &class=aligncenter", "ссылка на произвольную картинку"); // "ссылка на произвольную картинку" должна указываться как второй аргумент функции. Потому что в ссылке могут быть свои параметры запроса, чтобы не смешались с указанными. // или массивом (рекомендуется) kama_thumb_img([ "width" => 200, "height" => 150, "class" => "alignleft", "src" => "", ]);
Можно указать только ширину или высоту

Тогда противоположная сторона (высота или ширина) будут подобраны пропорционально уменьшенной копии;

Параметр src

Нужен для случаев, когда нужно создать миниатюру к любой картинке.

Если параметры передаются строкой, то src нужно указывать во втором аргументе функции.

Очистка кэша

В настройках плагина есть 2 кнопки очистки кэша: "весь кэш" и "кэш заглушек". Нужно это для случаев, когда по каким-либо причинам, плагин не смог создать миниатюру по УРЛ. В этом случае для картинки создается заглушка, чтобы не пытаться создать картинку каждый раз при вызове. При очистке кэша заглушек, удаляются только заглушки и для всех заглушек, плагин пытается создать миниатюры еще раз.

Поэтому, если вы вдруг увидели что плагин не создал миниатюры для некоторых картинок, то попробуйте очистить кэш заглушек.

Картинки с других доменов

По умолчанию можно создавать картинки только с текущего домена или поддоменов.

Чтобы можно было создавать картинки с внешних доменов укажите названия разрешенных доменов в настройках плагина: Настройки - Медиафайлы или в параметре allow при вызове функции.

Если вместо названия домена(ов) указать any , то будет разрешено создание картинок с любых доменов.

Миниатюра в тексте статьи (шоткод)

Если в статье нужно уменьшить картинку и сделать её ссылкой на оригинал, то укажите картинке класс mini и задайте нужные размеры (width или height).

Например, мы вставили картинку в статью:

Но такая большая не нужна, а нужно её уменьшить не визуально, а реально. Для этого добавляем к ней класс mini и указываем нужные размеры (width="300"):

Высота, которую мы удалили будет подобрана автоматически, пропорционально.

Такой подход - не использовать шоткод, мне показался удобнее: мы можем создавать миниатюры к картинкам и при этом видеть как картинка выглядит при редактировании поста, также при возможном удалении плагина, картинки в постах по-прежнему будут показываться (не останется непонятный шоткод).

Чтобы картинка миниатюра создавалась, эта опция должна быть включена в настройках Kama Thumbnail: Настройки > Медиафайлы.

Проверка обязательной установки плагина

Если вы используете этот плагин, то скорее всего тема без него работать уже не будет. Поэтому хорошо бы сделать проверку с предупреждением пользователя, если он отключит плагин, что плагин обязательный и его нужно включить для корректной работы темы.

Для этого поместите такой код в файл темы functions.php .

// обязательный для темы плагин kama thumbnail if(! is_admin() && ! function_exists("kama_thumb_img")){ wp_die("Активируйте обязательный для темы плагин Kama Thumbnail"); }

Теперь в случае деактивации плагина, во фронтэнде пользователь увидит сообщение: «Активируйте обязательный для темы плагин Kama Thumbnail».

Скорость работы функций (замеры)

Первая обработка картинки долгая и скорость зависит от размера картинки. Остальные обработки уже гораздо быстрее, потому что берется из кэша...

Замеры проводились на картинке размером 32КБ (650x350), из которой создавалась миниатюра размером 100x100.

  • kama_thumb_src() - 1 раз = 0.01403, 50 000 раз = 0.54830 сек. (очень быстро)
  • kama_thumb_img() - 1 раз = 0.01471, 50 000 раз = 1.38748 сек. (быстро)
  • kama_thumb_a_img() - 1 раз = 0.01471, 50 000 раз = 1.72967 сек. (быстро)

При работе с кэшем, а это 99% работы плагина, нет разницы какой у картинки размер...

Сообщения о необходимости установить этот плагин

Допустим, ваша тема или плагин использует этот плагин и требует его установки для корректной работы. Так, если плагин не установлен тема может совсем не работать, потому что будет использовать функцию, которой попросту нет в PHP. Давайте отловим такой момент и выведем PHP ошибку уровня NOTICE:

If(! function_exists("kama_thumb_src")){ add_action("admin_notices", function(){ echo "

". __("This theme requires plugin Kama Thumbnail. Install it please.", "dom") ."

"; }); function kama_thumb_src(){} function kama_thumb_img(){} function kama_thumb_a_img(){} function kama_thumb(){} }

Примеры

#1 Получаем миниатюру

Внутри цикла WordPress, где нужна миниатюра к посту, с размерами 150х100, используем такой код:

В результате на месте этого кода появится готовый тег :

#1.2 Уменьшение картинки только по указанной стороне

Чтобы получить не кадрированную пропорционально уменьшенную картинку по указанной стороне: по ширине или по высоте, нужно указать только ширину или высоту, тогда противоположная сторона будет подобрана пропорционально. Кадрирования при этом не будет.

Kama_thumb_img("w=200");

Теперь ширина всегда будет 200, а высота какая получится... При этом картинка всегда будет полная, без кадрирования.

#2 Не выводим картинку-заглушку

Чтобы картинка-заглушка не выводилась, если у записи нет картинок, то нужно определить параметр no_stub:

#3 Проверка наличия картинки для записи

Если нужно проверить есть ли у поста картинка и если нет, то сделать что-то другое, то используйте такой код:

$img = kama_thumb_img("w=150 &h=150 &no_stub"); if(! $img) echo "Картинки нет";

#4 Получаем только УРЛ миниатюры

Если не нужно выводить готовый тег img , а нужно получить только ссылку на миниатюру, чтобы затем её использовать, используйте функцию kama_thumb_src() :

Вернет УРЛ миниатюры: /wp-content/cache/thumb/ec799941f_100x80.png . Этот УРЛ можно использовать, например, так:

" alt="" />

#5 Получаем миниатюру-ссылку на оригинал

Если нужно сделать миниатюру, как картинку, кликнув на которую откроется большое изображение, то используйте такой код:

#6 Получаем миниатюру по ссылке на картинку

Если нужно создать миниатюру на определенную картинку (не картинку из текста статьи), то можно передать второй аргумент функции, в котором указать ссылку на картинку.

$src = "http://домен/картинка.jpg"; echo kama_thumb_img("w=150 &h=100 &class=alignleft", $src);

#7 Параметр post_id

По умолчанию миниатюры создаются для текущего поста, тот который записан в глобальной переменной $post . Иногда эта переменная определена неправильно и картинки могут создаваться другие, относящиеся к другому посту. Чтобы точно определить для какого поста должна создаться миниатюра определите post_id . Если вызов происходит в Цикле WordPress , то этот параметр указывать не нужно!

#8 Картинки с других доменов: параметр allow

Если в настройках плагина, в разрешенных хостах, не установлен нужный хост и не установлена строка any (разрешить все домены). То разрешенные домены можно указать в параметре allow:

Допустим наш домен это site.ru , а нам нужно создать картинку с сайта "http://static.othersite.ru/img.jpg" .

// можно указать точно echo kama_thumb_img("w=200 &h=150 &allow=othersite.ru", "http://static.othersite.ru/img.jpg"); // или можно указать для всех, чтобы можно было создавать с любого сайта echo kama_thumb_img("w=200 &h=150 &allow=any", "http://other-site.ru/img.jpg"); // точно можно указывать несколько доменов через запятую echo kama_thumb_img("w=200 &h=150 &allow=othersite.ru, foo.com", "http://foo.com/img.jpg");

Использование не как плагин (интеграция в тему)

Если вы разрабатываете тему и вам нужен функционал этого плагина, но при этом не нужно устанавливать плагин. То этот плагин можно использовать не как плагин, а как часть темы или как mustuse плагин .

Для этого нужно скопировать папку плагина (со всеми файлами) в папку темы и подключить основной файл плагина kama_thumbnail.php в файле functions.php . Это все!

Например, в теме есть папка includes и в нее мы скопировали папку плагина, тогда главный файл нужно подключить так:

Require_once "includes/kama-thumbnail/kama_thumbnail.php";

Отключение страницы опций

Если страница опций не нужна (делаете сайт для клиента). То её можно отключить. Для этого нужно прописать нужные опции через фильтр kama_thumb_def_options . Сделать это можно в файле темы functions.php или где-либо еще:

// Переопределяет настройки плагина Kama Thumbnail // Автоматически отключают страницу опций в админке и использование опций. add_filter("kama_thumb_def_options", function($opts){ /* исходные, см. код плагина "meta_key" => "photo_URL", // называние мета поля записи. "cache_folder" => "", // полный путь до папки миниатюр. "cache_folder_url" => "", // URL до папки миниатюр. "no_photo_url" => "", // УРЛ на заглушку. "use_in_content" => "mini", // искать ли класс mini у картинок в тексте, чтобы изменить их размер. "no_stub" => false, // не выводить картинку-заглушку. "auto_clear" => false, // очищать ли кэш каждые Х дней. "auto_clear_days" => 7, // каждые сколько дней очищать кэш. "rise_small" => true, // увеличить создаваемую миниатюру (ширину/высоту), если её размер меньше указанного размера. "quality" => 90, // качество создаваемых миниатюр. "allow_hosts" => "", // доступные хосты, кроме родного, через запятую. "any" - любые хосты. "debug" => 0, // режим дебаг (для разработчиков). */ $opts["cache_folder"] = get_template_directory() . "/cache"; $opts["cache_folder_url"] = get_template_directory_uri() ."/cache"; $opts["no_stub"] = true; $opts["auto_clear"] = true; return $opts; });

Условие использования - упоминание об этом плагине или этой странице в описании темы.

Привет! Сегодня я расскажу вам о супер плагинах для вывода записей WordPress. Данные плагины помогут вам вывести на любую страницу или запись вашего сайта – Стильные анонсы записей. В анонсе можно показать изображение записи, заголовок, отрывок, автора, дату, категорию. Вы сможете выводить анонсы не только записей, но и страниц.

Отличный плагин для вывода анонсов записей и страниц. Вывод по категориям или меткам. 4 стиля отображения на выбор. Возможность настроить внешний вид. Можно вывести название категорий на странице анонсов, чтобы при нажатии на категорию, отображались только записи из данной категории. Как настроить плагин –

Супер виджет для вывода анонсов записей. Вывод по категориям, меткам, авторам. Настройка внешнего вида, размер изображений. Можно добавить дату, автора, категорию. Широкие и гибкие настройки. Лучший виджет для вывода записей! Как настроить плагин –

Стильные анонсы записей в виде плиток. Вывод записей по категориям. Можно выбрать цвет плиток. Можно вывести на страницу список всех категорий сайта, чтобы при нажатии на название категории, показывались записи из данной категории, в режиме Ajax. Как настроить плагин –

5. Post Grid

Супер стильная, адаптивная, сетка записей! Выбор эффектов при наведении, выбор цвета фона записей. Вывод по категориям и т.д. Как настроить плагин –



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows