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

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

У цьому посібнику ми напишемо плагін , який встановлюватиме для кожного посту в блозі зображення та короткий опис, які будуть відображатися на Facebook під час публікації посту в ньому. Щоб це зробити, ми використовуємо дві можливості ядра WordPress: Featured Image для мініатюри і Post Excerpt для опису.

| Завантажити вихідні джерела |

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!

Крок 1. Створення плагіна

Створіть новий файл під назвою facebook-share-and-preview.php . Відкрийте його у своєму улюбленому текстовому редакторі та вставте наступний код:

<?php
/*
Plugin Name: Facebook Share and Preview
Version: 1.0
Plugin URI: http://www.studio404.it/
Description: Adds a Share link to every post and set an image and a description for Facebook.
Author: Claudio Simeone
Author URI: http://www.studio404.it/
*/
?>

Збережіть файл у папці /wp-content/plugins/ та активуйте його у вкладці Плагіни в консолі адміністратора.

Крок 2. Активація мініатюр

Починаючи з версії 2.9 WordPress, дозволяє вам встановлювати мініатюру для кожного посту, але ця корисна функціональність повинна підтримуватися вашою темою. Так що відкрийте вашу сторінку додавання нового запису та перевірте, чи є блок " Мініатюра запису ".

Публікація записів у Facebook з мініатюрою та описом

Якщо ви не бачите блоку Мініатюра запису, додайте до файлу facebook-share-and-preview.php наступний код:

add_theme_support('post-thumbnails');

Ми також встановлюємо розмір зображення. Згідно з документацією Facebook , ширина і висота мініатюри повинні бути не менше 50 пікселів і не повинні перевищувати 130 х 110 пікселів.

Зображення розміром 90х90 пікселів підійдуть відмінно.

add_image_size('fb-preview', 90, 90, true);

Тепер WordPress автоматично створить мініатюру для Facebook із кожної мініатюри запису.

Крок 3. Отримання Featured Image та Post Excerpt (мініатюра та анонс)

Щоб отримати Featured Image і Post Excerpt , нам потрібні 2 функції:

// Get featured image
function ST4_get_FB_image($post_ID) {
	$post_thumbnail_id = get_post_thumbnail_id( $post_ID );
	if ($post_thumbnail_id) {
		$post_thumbnail_img = wp_get_attachment_image_src( $post_thumbnail_id, 'fb-preview');
		return $post_thumbnail_img[0];
	}
}

// Get post excerpt
function ST4_get_FB_description($post) {
	if ($post->post_excerpt) {
		return $post->post_excerpt;
	}
	else {
		// Post excerpt is not set, so we take first 55 words from post content
		$excerpt_length = 55;
		// Clean post content
		$text = str_replace("rn"," ", strip_tags(strip_shortcodes($post->post_content)));
		$words = explode(' ', $text, $excerpt_length + 1);
		if (count($words) > $excerpt_length) {
			array_pop($words);
			$excerpt = implode(' ', $words);
			return $excerpt;
		}
	}
}

Крок 4. Додавання meta-тегів Facebook на сторінку посту

Тепер ми пишемо функцію, яка отримує Featured Image і Post Excerpt посту і додає їх до блоку < head > сторінки посту.

Якщо Featured Image і Post Excerpt не прописані, теги не відображатимуться.

function ST4FB_header() {
	global $post;
	$post_description = ST4_get_FB_description($post);
	$post_featured_image = ST4_get_FB_image($post-&gt;ID);
	if ( (is_single()) AND ($post_featured_image) AND ($post_description) ) {
?&gt;
  &lt;meta name="title" content="&lt;?php echo $post-&gt;post_title; ?&gt;" /&gt;
  &lt;meta name="description" content="&lt;?php echo $post_description; ?&gt;" /&gt;
  &lt;link rel="image_src" href="&lt;?php echo $post_featured_image; ?&gt;" /&gt;
&lt;?php
	}
}

Щоб написати код мета-тегів до блоку < head > нашого блогу, ми прив'язуємося до wp_head :

add_action('wp_head', 'ST4FB_header');

Проблеми із шаблоном

Переконайтеся, що файл шаблону header.php має наступний шматок коду перед тегом </head>

&lt;?php wp_head(); ?&gt;

Якщо його немає, додайте.

Крок 5. Додавання посилання на Facebook до сторінки посту

Відкрийте content-single.php вашої теми та вставте наступний код там, де ви хочете розмістити посилання:

&lt;a href="https://www.facebook.com/sharer.php?u=&lt;?php echo urlencode(get_permalink($post-&gt;ID)); ?&gt;&amp;t=&lt;?php echo urlencode($post-&gt;post_title); ?&gt;"&gt;Share on Facebook&lt;/a&gt;

Наприклад, якщо ви хочете додати посилання після вмісту поста:

&lt;div class="entry-content"&gt;
&lt;?php the_content(); ?&gt;
&lt;p&gt;&lt;a href="https://www.facebook.com/sharer.php?u=&lt;?php echo urlencode(get_permalink($post-&gt;ID)); ?&gt;&amp;t=&lt;?php echo urlencode($post-&gt;post_title); ?&gt;"&gt;Share on Facebook&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;!-- .entry-content --&gt;

Проблеми із шаблоном

У цьому посібнику ми спираємося на стандартний шаблон WordPress: Twenty Eleven . Оскільки структура кожної теми WordPress може відрізнятись від інших, вам потрібно ідентифікувати, який файл відповідає за постову сторінку у вашій темі.

Стати в нагоді в цьому може інформація двох сторінок в WordPress Codex: Ієрархія шаблону і Цикл . Якщо ви все ще не можете знайти потрібний файл, ви можете зв'язатися з автором вашої теми.

Результат

Тепер ви можете писати пост і додавати мініатюру запису ( Featured Image ) та анонс ( Excerpt ):

Публікація записів у Facebook з мініатюрою та описом

Це опублікований пост з посиланням " Поділитись на Facebook ":

Публікація записів у Facebook з мініатюрою та описом

Як тільки ви клацнете на посилання, з'явиться вікно попереднього перегляду публікації в Facebook.

Публікація записів у Facebook з мініатюрою та описом

Тепер у вас є певний контроль над тим, як будуть відображатися ваші пости у Facebook , коли ваші читачі ними поділяться.

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

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

Dmitry Luzin:

Дякую за статтю. Для мене це якраз актуальна тема. Зробив та активував плагін, мета-теги виводить, але мініатюра, як і раніше, не з'являється у вікні share facebook. Може це тому, що маю мініатюру 240х180. Підкажіть плагін зменшує її автоматично для прив'язки до facebook? Допоможіть будь ласка розібратися. У мене тема twenty eleven.

WPcafe.org:

Мініатюра має бути як мінімум 200х200 для підв'язки у Facebook, може бути в цьому проблема

Dmitry Luzin:

зробив мініатюру 150х150. у коді сторінки в розділі all in one seo pack бачу rel="image_scr" з посиланням на мініатюру 150х150. Але, як і раніше, facebook її не виводить. Замість неї виводить значки соцмереж 90х90. Не можу зрозуміти, де не працює.

WPcafe.org:

Повторюю, як МІНІМУМ 200 х 200!

Dmitry Luzin:

Вставив у запис мініатюру 280х200. У коді сторінки побачив rel="image_scr" з посиланням на картинку 90х90. Але facebook відображає у вікні share неправильну (не ту) картинку. Правильно я розумію, що facebook вже прив'язав неправильну картинку і плагін буде працювати з нового запису з мініатюрою мінімум 200х200?

WPcafe.org:

Можливо й так! Найкраще прожене посилання на статтю, що вам цікавить, через Facebook-парсер http://developers.facebook.com/tools/debug і ви відразу побачите, які помилки потрібно виправити

Dmitry Luzin:

Дякую. спробую.

Стас:

Так, реально, за допомогою посилання, що дає WPcafe.org, всі помилки показуються, можна як відладчик застосовувати.

Надія:

все зробила, але нічого не з'явилося у записі, підкажіть.

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