Задать миниатюру к посту по урлу

Содержание материала:

Как для всех записей WordPress задать миниатюру по умолчанию?

Иногда на сайтах, особенно на блогах, возникает ситуация, когда материал публикуется без миниатюры. Это случается по разным причинам: или публикатор просто забыл ее добавить, или изображение еще не готово. В результате этот пост визуально как бы выходит из общего контекста сайта. Для подобных случаев есть смысл задать какое-нибудь изображение в качестве временного, причем сделать этот процесс автоматизированным.

Как задать миниатюру по умолчанию?

Рассмотрим два способа решения этой задачи.

Способ 1. Универсальный

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

Во-первых, необходимо загрузить само изображение. Для этого нужно в админ-панели перейти Медиафайлы -> Библиотека, нажать кнопку Добавить новый и загрузить желаемое фото. Дальше следует открыть изображение, щелкнув на нем. В итоге откроется окно Параметры файла, в котором необходимо обратить внимание на адресную строку Вашего браузера, которая будет содержать следующий адрес:

Из этого адреса нужно запомнить числовое значение, стоящее после строки “item=”. В нашем случае это 417.

Второй этап решения задачи подразумевает добавление специального PHP-кода в файл functions.php Вашей активной темы сайта.

Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.

Итак, в его конце должен располагаться следующий код:

Тут в строке update_post_meta() следует вставить полученное значение Вашего изображения.

Теперь для всех новых записей Вашего сайта с отсутствующей миниатюрой будет подставлена Ваша фотография.

Способ 2. Гибкий

Гибкость этого способа состоит в том, что Вы сами можете определять, где показывать заданную по умолчанию миниатюру для записи. Часто бывает необходимо выводить ее только в списке записей, но не в самом посте. Напомним, что предыдущий способ вывод ее везде. Такая гибкость добавляет и некие трудности, так как обязует разбираться, где и в каком именно файле Вашей темы необходимо выводить миниатюру.

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

Вывод url миниатюры последнего поста [закрыт]

Здравствуйте. Такой вопрос, делаю вывод последней записи, и хочу получить url изображения поста. Url получаю но в пути к картинке нету разделителя ‘/’. Вот такой урл на выводе получаю.

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

Закрыт по причине того, что не по теме участниками aleksandr barakin, Arhad-the-dev, 0xdb, andreymal, Andrew Goroshko 20 июн в 5:59 .

Похоже, этот вопрос не соответствует тематике сайта. Те, кто голосовал за его закрытие, указывали следующую причину:

  • «Вопрос вызван проблемой, которая больше не воспроизводится, или опечаткой. Хотя похожие вопросы могут быть уместны на этом сайте, решение для этого вопроса вряд ли поможет будущим посетителям. Обычно можно избежать подобных вопросов написанием и исследованием минимальной программы для воспроизведения проблемы до публикации вопроса.» – aleksandr barakin, Arhad-the-dev, 0xdb, andreymal, Andrew Goroshko

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

Как установить стандартную миниатюру поста на WordPress

Введение

Изображения — это неотъемлемая часть не только всех статей, но и самого списка статей в блоге на WordPress. Изображение записи важно, так как оно отображается не только на сайте, но и в любом месте, где кто-то поделится этой записью.

Загрузить изображение, миниатюру для записи легко:

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

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

Для таких ситуаций есть прекрасное решение — установка стандартного изображения для записей.

Создаем миниатюру для записи

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

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

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

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

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

Существует три способа, как добавить стандартное изображение для всех постов, у которых оно не было загружено отдельно. То есть проблема «у записи нет картинки» исчезнет в принципе.

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

Вариант 1: использовать код

Стандартное изображение для записей без изображения можно прописать в файле темы. Сделать это не очень сложно.

1. Откройте файл дочерней темы (или child theme, более подробно читайте здесь ).

2. В функцию the_post_thumbnail() добавьте код ниже:

3. Вместо default-image.jpg напишите название нужного изображения.

4. Сохраните изменения.

Вариант 2: использовать первое изображение в статье

Если в статье уже есть другие изображения, то отдельную миниатюру можно не загружать. То есть изображение для использования уже есть, просто оно еще не записано в виджет миниатюры.

Поэтому нужно сделать следующее.

1. Добавьте код ниже в файл темы function.php:

2. Следующий код добавьте в файл дочерней темы:

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

3. Сохраните изменения.

Вариант 3: использовать плагин Quick Featured Images

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

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

Однако и в бесплатной версии есть полезные функции.

1. Установите плагин.

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

Это можно увидеть, зайдя в раздел «Записи»:

Колонка позволяет быстро и удобно добавлять или изменять изображения записи.

2. Зайдите в раздел плагина «Изображения по умолчанию»:

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

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

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

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

3. Сохраните внесенные изменения.

Заключение

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

Как в WordPress можно выводить посты из категории с миниатюрами (их создание в Auto Post Thumbnail и catch_that_image)

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

Про внутреннюю перелинковку и ее способы реализации на этом блоге я уже писал, поэтому здесь не буду наводить тень на плетень и рассказывать, почему Википедия из-за своей всеобъемлющей перелинковки (ну, и не только) находится в Топе по подавляющему числу информационных запросов обоих поисковых систем.

Как выводить статьи из категории WordPress в виде миниатюр

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

Итак, описываю мой случай. Функция, которая позволяла выводить предыдущие N статей из той же рубрики, у меня работала уже несколько месяцев и была она взята с этой страницы известного знатока кода WordPress под ником Kama. Но мне хотелось немного акцентировать на этих ссылках внимание, поэтому и задумался о добавлении превьюшек.

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

Кроме заголовка и миниатюры можно даже некоторый фрагмент текста статьи добавить, как это сделал Уважаемый Ринат в комментарии 138 на блоге Димокса:

В начале кода «return 10» задает число слов, которое будет выводиться в анонсе статьи с помощью (если ничего не путаю, ибо в PHP нуб), в конце кода в ($post->ID, $the_cat_id, 5) цифрой 5 задается число предыдущих постов из той же категории, к которой относится данная публикация.

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

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

Да, чуть не забыл, все это безобразие нужно вставлять непосредственно в то место шаблона WordPress, где предыдущие посты и должны выводиться. Обычно это файл single.php или index.php (если сингла нет) из папки с используемой вами темой оформления:

Если хотите, чтобы предыдущие посты из этой же категории показывались сразу после текста статьи, то найдите в коде single.php или index.php место:

И лепите приведенный чуть выше громадный кусок кода сразу за ним. ВАЖНО. Все должно заработать, но все равно сначала сделайте на всякий пожарный резервную копию файлов вашей темы и не пользуйтесь возможностями WordPress по редактированию файлов шаблона, ибо при работе, например, в связке Файлзилы и Нотепад++ у вас всегда будет возможность сделать откат при неудаче или ошибке.

Создание миниатюры из первой картинки поста

Использование функции « the_post_thumbnail» это оптимальный вариант, который я не реализовал (на самом деле реализовал с помощью упомянутого чуть ниже плагина Auto Post Thumbnail и результирующий код приведен в самом низу статьи) потому, что файлы иллюстраций для статей кидаю сразу на хостинг через лучший ФТП менеджер, а в текст статьи вставляю шаблон, в котором потом меняю название файла картинки и его описание в атрибутах Alt и Title тега Img:

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

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

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

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

Почему-то у меня мысль (поиск) сначала пошла по второму руслу и именно этот вариант и был реализован, а в последствии заменен на классическую функцию работы с миниатюрами the_post_thumbnail (array (200,200).

Произошло это потому, что описанный здесь вариант имел один существенный недостаток (если я не ошибаюсь) — функцией вытягивается полноразмерное изображение из поста, которое потом средствами языка стилевой разметки CSS уменьшается до нужного размера миниатюры (с помощью height и width).

Если для блога KtoNaNovenkogo.ru это критично, но не сильно, ибо первые картинки изначально имеют не очень большой вес (в среднем 30 кило), то для фотоблога это будет серьезной проблемой.

Собственно, про способ выдергивания первой картинки из любого поста в WordPress. Достаточно будет в файл вашей темы оформления под названием functions.php (в любом месте, но после окончания какой-либо другой функции, а не ее середине) добавить следующую функцию catch_that_image:

Топ-пост этого месяца:  FAQ с использованием PHP-jQuery и текстовых файлов. Часть 2.

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

У меня получилось примерно так в PHP коде (он вставляется в single.php или index.php вашей темы по описанному чуть выше принципу):

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

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

  1. Первый с пустым контейнером Div, фоном для которого выступает выдернутое с помощью функции catch_that_image первое изображение из этого поста (он задается CSS свойством background), которое с помощью свойств width:200px и height: 150px уменьшается до нужных мне размеров, а при помощи background-size: 100% отображается не его верхняя левая часть, а уменьшенная копия.
  2. Второй контейнер Div с помощью функции trim_title_chars (110, ‘. ‘) позволяет отобразить чуть ниже этого фонового изображения заголовок поста, в котором отображаются только первые 110 символов, ибо мои тайтлы очень длинные (читайте про мета теги title, description и keywords) и вносят сумбур в стройные ряды карточек постов. Если обрезать не нужно, то можете вставлять традиционную функцию the_title ().

Ну и понятно, что все, что можно было вынести в классы, я вынес, поэтому будет не лишним их здесь привести (живут они в отдельном файле стилей style.css в папке с темой оформления):

Опять же, нубский стиль, но работает. С помощью border задается сплошная рамочка в один пиксел шириной, а с помощью Padding и margin — внутренние и внешние отступы (код хорошо анализировать с помощью Фаербага или его встроенных во все браузеры аналогов).

Float заставляет карточки постов плавать и прижиматься к левому краю, но не забывайте, что остальные блоки кода не замечают плавающие элементы, поэтому во избежании их прилипания снизу следует указать в CSS свойствах нижнего (следующего после них) блога свойство Clear:both для возможности задания отступов от него до плавающих вверху блоков карточек предыдущих постов. Интересно, я бы сам понял, что написал, не пиши это собственноручно. Сомневаюсь, но объяснять подробнее лень. Извините.

Последние две строки заставляют не отображать подчеркивание ссылок при наведении на них мыши (читайте про селектор hover и text-decoration) и задают серенький фон при наведении на карточку курсора, что добавляет, на мой взгляд, некую живость. List-style-type убирает нумерацию у используемого мною Html списка (OL и LI).Тупо, глупо, но интересно.

P.S. Если у вас миниатюры уже есть, или же вы их создали для всех постов автоматически с помощью упомянутого чуть выше плагина Auto Post Thumbnail, то можете использовать более простой и легкий в плане нагрузки на сервер способ:

Как на страницах рубрик выводить миниатюры постов

Ну и еще чуток о том, как организовать вывод постов на страницах категорий (рубрик), меток (тегов) или временных архивов WordPress в виде миниатюр (превьюшек) и заголовков этих статей. Собственно, сделать тоже самое, что мы только что сделали, но при этом еще оставив пагинацию (нумерацию страниц — читайте про пагинацию с WP-PageNavi). Сложного тут ничего нет. Если у вас в теме уже имеется файл archive.php, то его нужно будет лишь немного подкорректировать, убрав из него:

Кстати, первый вариант выводит анонс статьи до тега More, а второй только 50 (по-моему) первых слов. Хотя, количество слов можно варьировать, дописав в functions.php следующий код:

Но не суть. Итак, удаляем оговоренную конструкции, а также стоящую чуть выше часть, где выводится заголовок статьи:

И вместо них вставляем уже упомянутый чуть выше фрагмент:

Но не все так просто. Нужно попасть внутрь цикла и правильно распорядиться с уже имеющимися блоками. Я, как уже говорил, не силен в ПХП, но путем сравнительно непродолжительных итераций смог получить нужный мне результат. Делал я это для другого проекта, в шаблоне которого файла archive.php не было и я его создал на базе имеющего файла index.php. Объяснять суть довольно долго, поэтому приведу оба файла, а вы сможете сравнить и сделать по аналогии у себя так же.

Был такой вот index.php:

Из него путем удаления лишнего и добавления нужного получился такой вот файл archive.php:

Вот, собственно, и все. Ах, да. Мне не понравилось, что на страницах рубрик и меток отображается столько же постов, что и на главной. Мне хотелось больше. Сделать это оказалось не сложно — достаточно заменить конструкцию на:

Где и указать нужное число статей, отображаемое на страницах архивов. Все.

Создание миниатюр или автоматическая генерация миниатюр в WordPress.

Из статьи ты узнаешь :

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

Лучший брокер

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

Для чего нужно создавать миниатюры в WordPress.

Создавать миниатюры нам может понадобиться в следующих случаях:

  1. Для вывода миниатюр в анонсы статей — допустим в статье вы размещаете большую картинку, а в анонсе на главной нужно вывести маленькую.
  2. Создание миниатюр может понадобиться для многих тем WordPress, надеюсь многие из вас видели блоги, где выводятся последние, популярные, а также похожие статьи, а рядом около каждой ссылки стояла маленькая картинка, так вот если не создать миниатюру, то это маленькое изображение выводиться не будет.
  3. Также создание мини-картинок вам понадобиться, если вы собрались использовать плагин для вывода списка статей с превьюшками (маленькими-картинками к записи), допустим в конце каждой статьи выводить список похожих материалов при помощи картинок с надписями.
  4. Можно настроить вывод мин картинок в RSS WopdPress.

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

Создание миниатюр или автоматическая генерация миниатюр в WordPress

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

7,0,1,0,0

Как создать миниатюру в WordPress.

Ваша тема WordPress должна поддерживать создание миниатюр, это можно проверить зайдя в админке в записи, и выбрать любую или создать новую, и в правой колонке, где находятся разделы: опубликовать, рубрики, метки в самом низу должен быть еще один раздел «Миниатюра записи» в котором должна быть ссылка «Задать миниатюру» (в зависимости от перевода, могут быть другие словосочетания, допустим раздел может называться «характерные изображения», а ссылка «установить специальное изображение»).

создание миниатюр в теме wordpress

Если данный раздел при создании записи у вас существует, то значит ваша тема WordPress поддерживает создание миниатюр.

Для создания мини-картинки вам требуется нажать на «Задать миниатюру» и вы перенесетесь в раздел создания материала, где обычно мы закачиваем изображения в статью.

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

создание миниатюр в записи wordpress

Перед нами раскроются все настройки данного изображения, которые мы уже должны были все отредактировать при создании записи, но нас интересует кнопка «Использовать как миниатюру»

кнопка «Использовать как миниатюру»

Жмем на эту кнопку и ждем появления слова «готово», после этого закрываем окно и видим в разделе «миниатюра записи» нашу картинку, все мини-картинку для одной записи мы создали, сохраняемся.

А как быть, если тема не поддерживает создание миниатюр для поста, все очень просто, нужно зайти в вашу админку WordPress редактор темы, в моем случае «внешний вид — редактор» и зайти в раздел functions.php и в самый низ записи добавить код:

14,1,0,0,0

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

Генерация миниатюр в WordPress.

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

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

В общем посмотрите видео, что бы было понятнее:

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

Устанавливаем и активируем плагин, после чего у вас появится надпись «Генерация миниатюр» в отделе админки WordPress «Инструменты».

21,0,0,1,0 Генерация миниатюр

Жмем на эту надпись и переносимся в настройки плагина, где мы можем выбрать только-лишь номер изображения в записи, в моем случае я оставил «1» и нажал на кнопку « Сгенерировать миниатюры».

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

Все теперь, плагины выводящие списки статей с миниатюрами будут работать правильно, а если вы хотите чтобы миниатюры отображались в теме wordpress, к примеру на главной или категориях, нужно вставить в нее (в файлы index.php, archive.php) следующий код:

В данном случае будет выводится миниатюра, а если вам нужно добавить средний или большой размер, которые вы указали в настройках медиафайлах, а потом генерировали, то в коде нужно заменить thumbnail на:

Также в коде можно задать нужное выравнивание, вот пример:

Помимо всего этого, можно в коде задать нужный размер миниатюр, это делается так:

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

29,0,0,0,1

Ах да! если вам понадобится создать миниатюры нужно размера (которые до этого были других пропорций), то тут вам поможет плагин Regenerate Thumbnails! Но он лично у меня сильно нагрузил сервер и до конца я этого сделать не смог!

(3 оценок, среднее: 3,67 из 5)

SOFT SPRINT

Сегодня ответим на вопрос: «Как установить миниатюру в качестве фона для записи, страницы или всего сайта?»

Итак, например, нам нужно задать фон нашему посту в виде миниатюры. Для этого задаём свойство background-image c url нашей миниатюры контейнеру нашего поста. Пример кода из цикла WordPress (о нём уже писали здесь):

Таким способом мы проверяем:

  • есть ли у поста картинка-миниатюра – функция has_post_thumbnail;
  • если миниатюра есть, тогда с помощью функции wp_get_attachment_image_src возвращаем массив с данными об УРЛе, ширине и высоте картинки-вложения, прикрепленной к посту. Первый элемент массива – ID картинки-миниатюры, данные которой нужно получить;
  • для получения ID картинки-миниатюры применяется функция get_post_thumbnail_id();
  • параметр “full” означает, что нам нужно загрузить картинку-миниатюру в её полном размере;
  • окончательно через echo выводим сформированный УРЛ миниатюры, прикреплённой к посту.

Осталось минимально подправить стили в CSS для бэкграунда нашего поста, например, так:

Внимание! Чтобы можно было установить для поста картинку-миниатюру, нужно активировать эту возможность функцией – add_theme_support( ‘post-thumbnails’ ); в файле шаблона funсtions.php.

Таким простым способом Вы можете установить миниатюру в качестве фона для записи, страницы или всего сайта. Последний вариант предполагает установку стиля background-image для тега body. В таком случае, при загрузке поста будет устанавливаться миниатюра в качестве фона для всего сайта, причём, миниатюра загрузится именно та, что соответствует посту, который Вы просматриваете!

P.S. Если перед Вами стоит задача поставить не только картинку-миниатюру в качестве фона, а слайдера из множества изображений, советую применить плагин WP Vegas

Он позволяет создавать слайдеры отдельно для каждой страницы. Кол-во изображений может быть любым. Плагин является бесплатным и простым в установке.

Описание тонкостей по выводу миниатюры записи wordpress

На многих сайтах используются миниатюры изображений, иллюстрирующие тему той или иной статьи. Это позволяет придать сайту больше красок, сделать ему более профессиональный и согласованный внешний вид, а также заинтересовать посетителя на просмотр материала.

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

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

Добавление изображения-превью для поста или страницы в WordPress

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

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

  • Заголовок – появляется при наведении курсора;
  • Подпись – можно вывести специальным кодом;
  • Атрибут alt – альтернативный текст, отображается вместо отсутствующего изображения;
  • Описание – краткое описание содержания картинки.

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

Проблема повторяющихся изображений в постах

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

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

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

Местонахождение этой строчки может отличаться, но всегда следует начинать поиск с файла «Single.php». На примере стандартного WordPress шаблона Twenty Sixteen, нужно открыть редактора кода, который расположен в разделе «Внешний вид» административной панели. Здесь потребуется открыть файл «Single.php» и найти в коде строчку, отвечающую за вывод контента. Она выглядит так:

get_template_part( ‘template-parts/content’, ‘single’ );

Из этой строчки становится понятно, что продолжать поиск необходимо по файлу «content-single.php». Открыв этот файл в редакторе, вы найдете такую строку:

Именно она и отвечает за вывод миниатюры на странице отдельной статьи. Имейте ввиду, что эта строчка может выглядеть по-разному, все зависит от конкретного шаблона, но она обязательно должна содержать слова «post» и «thumbnail». Вам нужно просто заменить эту строчку на:

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

Включение поддержки миниатюры в шаблоне

Несмотря на то, что это встроенная функция WordPress, она будет работать только тогда, когда поддерживается установленным шаблоном. Почти все современные шаблоны WordPress поддерживают эту функцию, но иногда попадаются исключения. В таком случае, можно включить вывод превью самостоятельно. Чтобы это сделать, нужно просто добавить несколько тегов в файлы шаблона.

Топ-пост этого месяца:  Обрезка изображений по окружности с последующей загрузкой на сервер

Первым делом, необходимо открыть файл «functions.php», находящийся в папке с темой, и добавить следующую строчку:

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

add_theme_support( ‘post-thumbnails’, array( ‘post’) );

А только для страницы такую:

add_theme_support( ‘post-thumbnails’, array( ‘page’) );

Далее, вы должны указать размеры, воспользовавшись один из двух способов, предлагаемых функциями WordPress: пропорциональное изменение или обрезка. В первом случае, изображение будет пропорционально (без искажений) сжиматься, пока не будет соответствовать указанной ширине и высоте. Например, если оригинальная картинка будет 100 × 50, а вы указали 50 × 50, то по итогу получится 50 × 25. Код первого способа выглядит так:

set_post_thumbnail_size( 50, 50 );

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

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

set_post_thumbnail_size( 50, 50, true );

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

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

Заключение

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

Подключение миниатюр wordpress, их настройка и использование. Отключение страницы опций. Принцип работы Kama Thumbnail

Всем привет! Прошла уже неделя с тех пор, как мы уехали из Питера и поселились в деревушке Хиккадува на Шри-Ланке. Чуть подробнее об этом в конце поста.

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

Как используют миниатюры на WordPress-блоге?

Миниатюры картинок в WordPress чаще всего используются в анонсах к записям на блоге. Анонсы выводятся на главной или в рубриках. Как правило, иллюстрация анонса, это уменьшенная копия картинки в самой статье. Также эти превьюшки будут появляться при выводе похожих записей под статьей, если ваша тема предполагает такую опцию, или у вас установлен соответствующий плагин. Это также актуально для последних и популярных записей в сайдбаре, если они у вас предусмотрены.

Очень важно, чтобы в каждом месте отображения миниатюр, они были сжаты до того размера, в котором мы их видим на сайте. Конечно, можно было бы выводить полноразмерные картинки и просто задавать им маленькие размеры средствами CSS-стилей. Но тогда браузеру каждый раз придется загружать множество больших тяжелых изображений, от чего сайт начнет грузиться очень медленно. К счастью есть возможность автоматически сжимать картинки до нужного размера.

Теперь перейдем к тому, как выводить миниатюры на WordPress-блоге и их настройкам.

Вывод превью к записи в WordPress

Чтобы проверить, поддерживает ли ваш шаблон WordPress вывод миниатюр, нужно зайти в редактор записей или страниц. Если поддерживает, вы должны увидеть следующее:

У меня эта опция находится в правом нижнем углу на странице редактирования.

Теперь, чтобы создать превьюшку для статьи, нажимаем «Задать миниатюру».

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

Если вас по каким-то причинам не устраивает размер или стиль картинки, вы можете зайти в редактор фото и задать необходимые параметры вручную.

Задать размеры миниатюры к записям в WordPress можно в админке: «Настройки» — «Медиафайлы»:

Что же делать, если вывод миниатюр не предусмотрен в вашей теме, а вам они нужны?

Для этого можно использовать следующую функцию в файл functions.php вашей темы:

Авто миниатюры в Вордпресс с помощью плагина

Хорошо, если вы исправно добавляли миниатюры к каждой записи во время их создания. Но что делать, если на вашем блоге уже есть множество постов без превью? Или как изменить размеры всех миниатюр в WordPress, после смены дизайна блога? Вновь открывать каждую запись и редактировать ее слишком трудоемко.

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

Для того чтобы найти подходящий плагин, введем в строке их поиска thumbnails (с англ. – эскизы).

Таким образом, мы отыщем наиболее актуальные и популярные плагины для нашей задачи.

Один из часто используемых и простых плагинов для изменения размеров всех миниатюр в WordPress – Regenerate Thumbnails:

После установки, заходим «Инструменты» — «Regen.Thumbnails»:

В появившемся окне нажимаем кнопку «Regenerate All Thumbnails», если вы хотите подогнать все превью к заданному в настройках блога размеру.

Ждем, пока закончится процесс:

Один из самых простых плагинов по вставке авто миниатюр ко всем записям на Вордпресс — Easy Add Thumbnail.

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

Еще один плагин для создания миниатюр к записям в WordPress – Generate Post Thumbnails. Он позволяет задать номер картинки в записи, по которой будет формироваться превью.

Как видите, вывести миниатюры в WordPress и даже их автоматически генерировать очень просто.

P.S. Хиккадува — замечательное туристическое местечко на юго-восточном побережье Шри-Ланки. Здесь нам нравится: буйная сочная растительность, чистый бушующий океан с большущими волнами, много кокосов и прочих фруктов, доброжелательные местные жители. Снимаем домик за 45000 рупий (21000 рублей). Сезон дождей сейчас заканчивается и в ближайшие несколько месяцев погода должна быть прекрасной! Приезжайте в гости:)

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

Получается, что у вас есть 2 варианта решения задачи — использовать либо вручную для каждой статьи создавать миниатюры. В первом случае появляется ощущение «вынужденного» и не совсем оптимального решения, второй и вовсе может заставить вас потратить 4-5 часов на возню с картинками. К счастью, недавно нашел еще и третий вариант — плагин Auto Post Thumbnail .

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

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

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

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

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

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

Во-первых, открываете файлы, которые отвечают за отображение списка постов блога — index.php, home.php либо archive.php, catagory.php, tag.php, где находим функцию отображения текста the_content (я упоминал о ней в посте про ) и меняем ее на:

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

«alignleft post_thumbnail» ) ) ; > ?>

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

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

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

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

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

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

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

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

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

  • На timthumb.php много хакерских атак.
  • Принцип работы Kama Thumbnail

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

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

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

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

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

  • Если ничего не найдено, то в произвольное поле будет добавлена запись-заглушка: «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(строка/массив)

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

    w | width (число)
    Ширина миниатюры. Если указана только ширина, то высота будет подобрана пропорционально.

    h | height (число)
    Высота миниатюры. Если указана только высота, то ширина будет подобрана пропорционально.

    Если параметры «w» и «h» не указаны, то они будут равны 100: получится квадратная картинка 100х100 пикселей.

    crop (false/0/no/none/true/строка) (с версии 2.7.3)
    Отвечает за кадрирование. По умолчанию кадрирование всегда включено.

    Чтобы отключить кадрирование, укажите false/0/no/none или определите параметр «notcrop». Тогда картинка не будет кадрироваться, а будет создаваться как уменьшенная копия оригинала по указанным размерам одной из сторон: либо высота, либо ширина — выбирается наименьшая подходящая сторона (т.е. одна сторона будет соответствовать h или w, а противоположная будет меньше чем указана в h или w).

    Можно указать строку: «right/bottom» или «top» , «bottom» , «left» , «right» , «center» и любые их комбинации, через / .

    • «left», «right» — для краев
    • «top», «bottom» — для верхи и низа
    • «center» — для обоих сторон

    Когда указывается одно значение, второе будет по умолчанию. По умолчанию «center/center» .

    // картинка скорее всего будет уменьшаться по высоте (большая сторона), // а ширина будет срезаться. right означает, что нужно показать // правую часть картинки при срезе, а левую отрезать. kama_thumb_img(«w=200 &h=400 &crop=right»); // картинка будет показана полностью по ширине (большая сторона), // а высота будет срезаться. // top говорит срезать нижнюю часть и оставить верх kama_thumb_img(«w=400 &h=200 &crop=top»); // указываем два параметра сразу, порядок значения не имеет: // top/right или right/top. kama_thumb_img(«w=400 &h=200 &crop=top/right»);

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

    notcrop (true/false)
    Если указать этот параметр (любое значение), то параметр crop выставиться в false: crop=false . Этот параметр в приоритете перед crop .

    alt
    alt атрибут картинки.

    title
    title атрибут картинки.

    class
    class атрибут тега. По умолчанию: «aligncenter» .

    style
    style атрибут IMG тега.

    attr
    Атрибуты для тега . Строка передается как есть, без очисток.

    a_class
    class атрибут

    stub_url (строка) (с версии 4.8.12)
    URL картинки-заглушки. Перебивает глобальную опцию.

    no_stub (isset)
    Указываем, если не нужно выводить заглушку. Вместо нее будет возвращен пустой результат.

    yes_stub (isset)
    Указываем, если нужно выводить заглушку, когда она отключена в настройках.

    post_id | post (int|WP_Post)
    Идентификатор или объект поста. Его нужно передавать, когда функция вызывается не из Цикла WordPress , например, внутри какой-нибудь функции. Или, когда переменная $post определяется неправильно. Например, определяется картинка от другой записи или еще какие-нибудь глюки.

    Топ-пост этого месяца:  Ежемесячная аудитория уников VK достигла 70 миллионов

    Если передать этот параметр, то скрипт будет точно знать какой пост обрабатывать. Если этот параметр не передан, то будет обрабатываться пост, находящийся в текущий момент (когда вызывается функция) в переменной $post .

    attach_id (число)
    ID изображения (вложения) в структуре WordPress. Этот ID можно еще указать числом в параметре $src — во втором параметре функции:

    Echo kama_thumb_img(«h=200», 250); echo kama_thumb_img(«h=200 &attach_ >

    attach_id имеет больший приоритет чем src . Т.е. в следующем примере ссылка на картинку http://site.ru/img.png будет обработана, только если нет вложения 250, иначе будет обработано указанное вложение.

    allow (строка) (с версии 2.5)
    Разрешенные хосты только для текущего вызова. Эта настройка ставиться глобально в настройках плагина. Но когда нужно указать разрешенный хост не глобально, а только для текущего вызова, его можно указать в этом параметре.

    Если указать «any» , то будет разрешено создавать миниатюры с любых сайтов (хостов). Напомню, что по умолчанию разрешается только с текущего домена и под-доменов.

    q | quality (число)
    Качество сжатия jpg (по умолчанию 85. макс.100).

    rise_small (true/false) (с версии 2.8.3)
    Увеличивать ли изображения, если они меньше указанных размеров. По умолчанию, если создаваемая миниатюра маленькая (меньше указанного размера), она увеличиться до указанных размеров. Если такое поведение нужно отменить, укажите в этом параметре false.

    Эту настройку можно определить глобально в настройках плагина.

    По умолчанию: true.

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

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

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

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

    Заметки

    Параметры можно указывать строкой или массивом
    Можно указать только ширину или высоту

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

    Параметр src

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

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

    Очистка кэша

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    // обязательный для темы плагин kama thumbnail if(! is_admin() && ! function_exists(«kama_thumb_img»))

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

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

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

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

    • 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:

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

    Примеры

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

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

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

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

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

    Теперь ширина всегда будет 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 . Этот УРЛ можно использовать, например, так:

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

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

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

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

    $src = «http://домен/картинка.jpg»; echo kama_thumb_img(«w=150 &h=100 & >

    #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 и в нее мы скопировали папку плагина, тогда главный файл нужно подключить так:

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

    Если страница опций не нужна (делаете сайт для клиента). То её можно отключить. Для этого нужно прописать нужные опции через фильтр 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; >);

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

    Как добавить миниатюру в раздел всех записей — в админку: пара вариантов

    На днях, на одну из статей этого блога один из комментаторов (вероятно, в плане рекламы) поделился ссылкой на сайт, в одной из статей которого рассказывалось о том, как добавить колонку миниатюры в раздел «Все записи» в админке (ссылка ниже)?

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

    В статье два варианта: 1 — миниатюру прямо в разделе «все записи» возможно редактировать: удалять, изменять… и 2: добавляется колонка «картинка» только в качестве информации. Ну, ладно: подробнее давайте…

    вот на этой статье как добавить
    Добавляем информационные колонки в админку: id рубрик, меток, постов, страниц информационные колонки в админку: id рубрик, меток, постов, страниц комментатор поделился своим открытием (там и ссылка).

    добавляем миниатюру в раздел записи — в админку

    …с возможностью редактирования: то есть сможем прямо в разделе всех записей удалить… изменить картинку соответствующей статьи через «родной» загрузчик WP.

    создаём такой thumbnail.php файл в ядре темы;

    вот код файла: (напоминаю: в коде я добавил кое-какие настройки и снабдил всё это важными комментариями — размер миниатюр и т.п.)

    …помещаем созданный файл в какую-то папку активного шаблона и подключаем документ в functions.php

    …а ещё, как логичный вариант, возможно организовать всё это дело в отдельный собственный плагин — как это запросто сделать, описано в этом посте: как создать свой плагин
    Создаём свой плагин — например, отдельный файл функций для сайта my-functions.php — весьма и весьма целесообразнее для организации сайта ?

    как разбить functions.php
    functions.php — как разбить на отдельные функциональные части, файлы: очень удобно в плане наполнения файла различными кодами! на отдельные функциональные части, файлы.

    Подключать в теме созданный файл (файлы вообще) нужно так:

    добавляем отображение миниатюры в разделе записи — в админке

    Для тех админов, которые желают просто добавить колонку «Миниатюра» в раздел все записи в админке, чтобы тут же видеть, что за картинка добавлена для страницы, записи.

    миниатюры будут просто отображаться в разделах записи и страницы! — без возможности редактирования! Только для информации о картинке (миниатюре) записи, странице…

    добавим к себе ф фалы темы такой код: код абсолютно рабочий, в принципе не требует никаких настроек — как только код будет добавлен в файлы своего сайта — всё ту же заработает — в разделах записей, страниц появится новая колона «картинка».

    В коде даны комментарии к вариантам вывода, например the_post_thumbnail …

    миниатюры в разделе записи, страницы в админке — итог

    в финале работ, если выбрали какой-то из описанных выше способов и внедрили нужный код к себе в файлы сайта, в админке — в разделе записи, страницы (опция «Настройки экрана»)

    …получится так, как на картинке ниже: появятся новые чекбоксы…

    Спасибо, за внимание… надеюсь кому-то пригодится этот мой рассказ.

    . город веб мастеров Михалика.ru © — запросто с WordPress

    Михаил ATs — владелец блога запросто с Вордпресс — в сети нтернет давным-давно.

    . веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети. — заказы, вопросы. разработка.

    Как изменить размер и расположение миниатюры WordPress

    Вступление

    Уже давно на WordPress можно в редакторе задавать «Изображение записи». Эта миниатюра отображается рядом с анонсом статьи. В шаблонах WordPress прописаны размер миниатюры и ее расположение по отношению к тексту анонса. А раз они прописаны, значит, их можно поменять.

    Как изменить размер и расположение миниатюры WordPress вы узнаете их этой статьи.
    Обращу ваше внимание, что в статье будем пытаться изменить размер и расположение миниатюры WordPress непосредственно в текущем шаблоне. В файлах шаблона миниатюра прописывается, как Thumbnail. Чаще всего, миниатюра показывается слева от анонса статьи. Размер может быть разный, чаще от 100 на 100 px.

    Размер миниатюры можно изменить

    Важно! Пред работой, чтобы избежать «белого экрана» делаем резервную копию сайта.

    Изменить размер миниатюры можно в файле шаблона, в который входит тег вывода анонса статьи. Скорее всего это будет content.php. В административной части сайта открываем редактор. В файле content.php ищем (слово поиска: thumbnail) код содержащий функцию вывода на экран html код картинки :

    Например такого вида:

    Меняем значения [100,100] на нужный нам размер Миниатюры. На фото пример замены размера миниатюры записи с 100×100 px на 200×200 px.

    Изменить отображение миниатюры по отношению к тексту анонса

    Изменить размер и расположение миниатюры WordPress можно редакцией таблицей стилей шаблона. Для этого открываем Редактор. Ищем файл style.css (Таблица стилей). В файле ищем секцию: /* Images */. В секции ищем код, опять со словом thumbnail.

    И меняем Значение свойства float:

    float:left | right | none

    На выбор вставляем одно из значений : left | right | none ( левое | правое | нет ).

    Также меняем значения в секции ниже , в соответствии с тем, что установили в файле Loop-singl.php.

    max-width: 100px; меняем на нужный размер;
    max-height: 100px; меняем на нужный размер.

    Не забываем сохраниться.

    Примечание: В зависимости от верстки шаблона «прописку» миниатюры, может быть придется поискать по файлам шаблона.

    Размеры миниатюр в файле function.php

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

    Важно! Перед любыми изменениями в файлах шаблона, особенно в файле function.php, сделайте резервную копию сайта, для восстановления сайта в случае ошибок.

    Например добавить размеры миниатюр, по умолчанию, можно, так :

    Причем изображение будет обрезаться (true). Код вставляется в файл function.php.

    Вывод

    На этом все! Надеюсь эти старенькие советы помогут изменить размер и расположение миниатюры WordPress.

    Добавить комментарий