Більше результатів...

Загальні селектори
Тільки точні збіги
Шукати у заголовках
Шукати у контенті
Вибір типів постів
Фільтрувати за категоріями
FAQ
Hostenko
Натхнення
Відео уроки
Новини
Плагіни
теми
Уроки
Хакі

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

Звичайний спосіб встановлення картинки для постів за замовчуванням

Як уже було сказано вище, зазвичай у посібниках такого роду пропонується використовувати зв'язку If ... Else у темі для того, щоб відображати картинку для постів за промовчанням. Ось приклад того, як це виглядає у коді:

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
if (has_post_thumbnail()) {
	the_post_thumbnail();
}
else {
	echo '<img src="' . get_bloginfo('template_directory') . '/images/thumb-default.png' . '" width="100" height="100" alt="thumbnail" />';
}

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

Крок 1. Встановлюємо значення Thumbnail ID

Перше, що вам треба зробити, це задати значення ID для завантажуваної картинки, яка буде кріпитися до всіх нових постів на сайті. Зробити це можна, перейшовши до медіа-бібліотеки сайту (Медіа-бібліотека), вибравши там вашу тему оформлення та потрібну вам картинку, а потім скопіювавши значення ID для цієї картинки.

Як задати зображення мініатюри за промовчанням для нових записів WordPress

На скріншоті ви бачите, що значення ID береться з адресного рядка з параметром attachment_id=

Крок 2. Задаємо функцію

Щоб встановити значення за промовчанням для нових постів, ви можете додати наступний сніпет в файл functions.php у папці з вашою обраною темою:

add_action( 'save_post', 'wptuts_save_thumbnail' );

function wptuts_save_thumbnail( $post_id ) {

	// Get Thumbnail
	$post_thumbnail = get_post_meta( $post_id, $key = '_thumbnail_id', $single = true );

	// Verify that post is not a revision
	if ( !wp_is_post_revision( $post_id ) ) {
		// Check if Thumbnail exists
		if ( empty( $post_thumbnail ) ) {
			// Add thumbnail to post
			update_post_meta( $post_id, $meta_key = '_thumbnail_id', $meta_value = '233' );
		}
	}

}

Ми використовуємо save_post для запуску функції у новому доданому пості на вашому сайті. Як тільки ми пов'язали дію з додаванням нового посту, ми використовуємо параметр get_post_meta для того, щоб задати значення для бази даних, вказавши ID зображення и ID поста.

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

За допомогою параметра If ми також перевіряємо, чи є якась мета-інформація про існування картинки для нового посту. Якщо таких даних немає, ми застосовуємо функцію add_post_meta для додавання значення ID зображення за замовчуванням до нашого останнього доданого на сайті посту.

Як задати зображення мініатюри за промовчанням для нових записів WordPress

От і все! При збереженні статті в чернетках на сайті зберігатиметься значення зображення за замовчуванням для нового посту, і ми зможемо використовувати цю картинку за промовчанням у плагінах та віджетах, де потрібна наявність ілюстрації для попереднього перегляду. Якщо ви розробляєте тему для сайту, ви також можете використати вказаний метод та замінити $meta_value картинкою з вашої папки з темою, що розробляється.

Джерело: WP.tutsplus.com
inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
Олексій Шевченко
редактор wpcafe
Вивчає сайтобудування з 2008 року. Практикуючий вебмайстер, який спеціалізується на створенні сайтів на WordPress. Задати питання Олексію можна на https://profiles.wordpress.org/wpthemeus/

Коментарі до запису: 12

Valerii Iakovenko:

Спасибо!

Сергій:

Добрий день. Мені дуже потрібна ваша допомога. Не на моєму сайті irktop.com ( тема PIM WordPress) дві великі проблеми.

1. У блозі із заголовками постів публікується лише порожня іконка без жодного зображення. Як зробити, щоб там були потрібні фото?

2. Додані записи публікуються з величезними урвищами.

Що з цим робити – не знаю.

Буду дуже-дуже вдячний, якщо дасте рекомендації.

Моя адреса: nens@mail.ru.

Заздалегідь вдячний!

Сергій.

WPcafe.org:

Спробуйте змінити тему і всі проблеми самі собою вирішаться. Я на головній навіть порожніх іконок не бачу, просто список заголовків.

Ілля:

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

WPcafe.org:

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

Олександр:

Доброго дня!
Не підкажіть, як вивести картинку на початку посту, яка встановлена ​​як мініатюра, але в самій темі розробником не передбачено її виведення на початку посту. Чи не судіть суворо, якщо сформулював своє питання мало правильно, я тільки вчуся працювати з вордпрес.

До файлу теми (loop-single.php) я вставляю код наступного виду 'alignleft')); ?> і картинка виводиться перед початком тексту, так як і потрібно, але вона не збільшується в розмірі, не можу зрозуміти що саме потрібно прописати в functions.php, щоб картинка встановлена ​​як мініатюра виводилася і в пості перед початком тексту у своєму вихідному розмірі в розмірі.

Використовую тему zeeFlow, посилання на тему
Заздалегідь вдячний за відповіді, поради та допомогу.

Ірина:

Добрий день. Бачу, Ваше запитання залишилося без відповіді, але в мене така сама проблема. Може ви знайшли рішення? Буду неймовірно вдячна за допомогу!

WPcafe.org:

У нашій темі за виведення мініатюри запису в самому посту поряд із заголовком відповідає такий код у файлі single.php

Ірина:

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

Олександр:

Доброго дня, Ірино. Картинку в постах вивести вийшло шляхом додавання коду до файлу loop-single.php, але зробити її більшого розміру немає. У постах вона у мене виводиться під заголовком з лівого боку, а праворуч від картинки текст, який обтікає її, картинка трохи більшого розміру ніж, наприклад, мініатюри в рубриках, але в принципі мене влаштував такий вигляд, так що потім я вже й не шукав рішення щоб вивести картинку в повному розмірі. Нижче скрін змісту файлу loop-single.php, червоним виділено рядок, який я додав.

Ви також можете спробувати схожу тему цього розробника під назвою Merlin, вона теж безкоштовна і більш функціональна, а в темі zeeFlow можливо є обмеження може я і помиляюся, але ця ж тема є і в платній версії для розробників.

viktorZAG:

Яндекс,мій низький уклін до своїх користувачів.,хто псує листування?Дякую! Я б зрікся Google.Але боюся це вплине на вхід в інтернет? Ваш вдячний користувач! viktorZAG:-)

Кирило:

Зараз у WooCommerce можна вставити зображення за промовчанням у налаштуваннях WooCommerce (У правому меню в адмінці WooCommerce -> Установки). 1-й крок робимо як в інструкції вище, у 2-му кроці вставляємо URL картинки або його ID в поле «Зображення-заповнювач», зберігаємо.)

Версія WooCommerce 3.5.7

Додати коментар або відгук