Перше зображення в мініатюрі плагін wordpress. Підключення мініатюр wordpress, їх налаштування та використання. #4 Отримуємо тільки УРЛ мініатюри

Головна / Оптимізація роботи

Сьогодні в короткому огляді розглянемо один спосіб встановлення мініатюр, але не в ручному режимі, а повністю на автоматі. Це дуже зручно, особливо коли багато матеріалу і не завжди встигаєш створювати для кожного запису превью зображення. Або коли є статті, які давно опубліковані, і на той час не передбачалися з використанням мініатюр. Але з того часу могло щось змінитись, включаючи необхідність виведення мініатюр. І щоб зберегти зовнішній вигляд та уникнути рутинної роботи, скористаємося одним трюком, який встановить мініатюри в автоматичному режимі.

Відкрийте файл functions.php, він знаходиться всередині вашої теми. В кінці перед знаком?> додаємо наступний код:

// Автом. мініатюра if (function_exists("add_theme_support")) add_theme_support("post-thumbnails"); function catch_first_image() (global $post, $posts;$first_img = ""; ob_start(); ob_end_clean(); $output = preg_match_all("/ /i", $post->post_content, $matches); $first_img = $matches ; if(empty($first_img))( $first_img = bloginfo("template_url"). "/images/default.jpg"; ) return $first_img;

Як це працює:якщо запис не міститиме мініатюру, то за допомогою функції preg_match_all виконується пошук на наявність картинки в статті. Після чого перше знайдене зображення підставляється як мініатюра посту. Але якщо раптом у статті не виявиться жодного зображення, тоді використовується заглушка, що знаходиться за адресою "/images/default.jpg" .

Тепер залишилося додати висновок вище заданої функції у певному місці. Відкриваємо файл, наприклад, index.php та інші, які можуть містити показ мініатюр (search.php, categories.php, archive.php і т.д.). Вставляємо один рядок коду:

" alt="(!LANG:!}"/>

Куди слід вставити? біля стандартної функції виведення мініатюр.

"> " alt="(!LANG:!}"/>

Випадкова мініатюра

If (function_exists("add_theme_support")) add_theme_support("post-thumbnails"); function catch_first_image() (global $post, $posts;$first_img = ""; ob_start(); ob_end_clean(); $output = preg_match_all("/ /i", $post->post_content, $matches); $first_img = $matches; if(empty($first_img))( $random = mt_rand(1, 10); //кількість рандомних картинок від 1 до 10 ("stylesheet_directory"); echo "/images/random/".$random.".jpg"; ) return $first_img;

Цей варіант аналогічний першому лише, крім, випадкової мініатюри. Тобто замість однієї картинки, яка виводиться як заглушка, генерується у випадковому порядку зображення із зазначеної папки. Просто створіть папку під назвою « random» у вже наявній папці вашої теми « images». Потім підберіть будь-які картинки у форматі jpg, дайте імена числами (для зручності) і завантажте в раніше створену папку «random».

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

Відмінний плагін для виведення анонсів записів та сторінок. Висновок за категоріями чи мітками. 4 стилі відображення на вибір. Можливість настроїти зовнішній вигляд. Можна вивести назву категорій на сторінці анонсів, щоб при натисканні на категорію відображалися лише записи з цієї категорії. Як настроїти плагін –

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

Стильні новини записів у вигляді плиток. Виведення записів за категоріями. Можна вибрати колір плитки. Можна вивести на сторінку список усіх категорій сайту, щоб при натисканні на назву категорії відображалися записи з цієї категорії, в режимі Ajax. Як настроїти плагін –

5. Post Grid

Супер стильна, адаптивна, сітка записів! Вибір ефектів під час наведення, вибір кольору фону записів. Висновок за категоріями тощо. Як настроїти плагін –

Мініатюри до статей на 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 потрібно вказувати в другому аргументі функції.

Очищення кешу

У налаштуваннях плагіна є дві кнопки очищення кешу: "весь кеш" і "кеш заглушок". Потрібно це для випадків, коли з якихось причин плагін не зміг створити мініатюру по УРЛ. В цьому випадку для картинки створюється заглушка, щоб не намагатися створити картинку щоразу під час виклику. При очищенні кеша заглушок, видаляються тільки заглушки та для всіх заглушок, плагін намагається створити мініатюри ще раз.

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

Зображення з інших доменів

За промовчанням можна створювати зображення лише з поточного домену або піддоменів.

Щоб створювати зображення із зовнішніх доменів, вкажіть назви дозволених доменів у налаштуваннях плагіна: Налаштування - Медіафайли або у параметрі 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КБ (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:

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

". __("Це потребує plugin Kama Thumbnail. Install it please.", "dom") ."

function kama_thumb_src()() function kama_thumb_img()() function kama_thumb_a_img()()

Приклади

#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" => "", // УРЛ на заглушку. , щоб змінити їх розмір "no_stub" => false, // не виводити картинку-заглушку. "auto_clear" => false, // чи кеш кожні Х днів. кеш "rise_small" => true, // збільшити створювану мініатюру (ширину/висоту), якщо її розмір менше зазначеного розміру. "quality" => 90, // якість мініатюр, що створюються. доступні хости, крім рідного, через кому." any" - будь-які хости. "debug" => 0, // режим дебаг (для розробників). */ $opts["cache_folder"] = get_template_directory() . $opts["cache_folder_url"] = get_template_directory_ uri() ."/cache"; $opts["no_stub"] = true; $opts["auto_clear"] = true; return $opts; ));

Умова використання - згадка про цю плагін або цю сторінку в описі теми.

//Виведення першого зображення з посади function first_post_image() ( global $post, $posts; $first_img = ""; ob_start(); ob_end_clean(); $output = preg_match_all("/ /i", $post->post_content, $matches); $first_img = $matches ; / вкажіть шлях до зображення, яке виводиться за замовчуванням.) return $first_img;

Скрипт витягує перше зображення із запису, але якщо його немає, він ставить картинку за замовчуванням. Щоб вивести зображення за умовчанням, ви повинні створити його, назвавши noimages.jpg і помістити в папку images. У 11 рядку вкажіть шлях до зображення.

1. Підключаємо функцію виведення першої картинки у темі

Мініатюра підключається у всіх файлах, де в циклі виводяться записи - це index.php, content.php, archive.php, category.php, single.phpі т.д,
Для підключення потрібно вставити наступний код після визначення циклу, який виглядає приблизно так:

Сам код виведення нашої функції:

"title="(!LANG:!}"> " alt="(!LANG:!}" />

А ось у записі потрібно вивести неклікабельну картинку. Для цього потрібно в single.phpдодати код без посилання

" alt="(!LANG:!}" />

Тепер у Вашій темі немає записів без мініатюр.

Як я писав вище, додавати тепер у записі мініатюри не треба (все одно їх не виводить), просто на початок посту або де потрібно вставляйте картинку. Перша за рахунком, автоматично стане мініатюрою.

Ще невеликий додаток до статті.

Якщо Вам потрібно, щоб виводилася мініатюра, а якщо її немає, перша картинка із запису, то потрібно замість терміну виведення, що Вище вставлятиме умову наступного виду:

" alt="(!LANG:!}" />

Звичайно ж додаєте свої класи стилів та оформлювачі їх у CSS. Тоді ваші мініатюри будуть виглядати так, як вам потрібно.

На цьому все, дякую за увагу 🙂

© 2022 androidas.ru - Все про Android