Думаю, нівкого не викликає сумніву, що Facebook має значний вплив на інтернет та його користувачів. Саме тому веб розробники у всьому світі намагаються знайти шляхи якнайміцніше поєднати користувачів Facebook зі своїм сайтом. На сьогоднішній день повна інтеграція із соціальною мережею можлива з допомогою Open Graph Protocol.
Давайте спробуємо крок за кроком здійснити повну інтеграцію вашого блога на WordPress чи сайту із соціальною мережею Facebook. Для початку розглянемо які можливості відкриває подібна інтеграція:
Повний список доступних соціальних плагінів знаходиться на сторінці Social Plugins.
Найперше, вам потрібно створити Фейсбук-додаток. Перейдіть на сторінку Розробники Facebook, справа вгорі ви побачите кнопку “Створити новий додаток”. Сміливо натискайте цю кнопку, бо саме за цим ми і прийшли! 😉
Процедура створення додатку досить проста. Вкажіть назву, відмітьте пункт про згоду з вимогами Фейсбук та створюйте додаток.
Далі ви побачите багато полів де можна вписати різноманітну інформацію. Можете не писати більш нічого, а можете вписувати стільки, скільки вам потрібно. Також зліва є меню з пунктами About, Web Site,
Facebook Integration, Mobile and Devices, Credits, Advanced. Перейдіть на вкладку Web Site. Тут ви побачите поля Application ID та Application Secret. Занотуйте їх значення, вони нам знадобляться.
У полі Site URL вкажіть повну адресу свого сайту, а у полі Site Domain – свій домен. Таким чином, авторизація працюватиме і на головному домені і на всіх субдоменах. Це все, зберігайте зміни.
На даному етапі вам доведеться редагувати код сайту. Тому, подбайте про бекап всіх файлів і зберігайте його провсяк випадок аж до завершення наших робіт. Також, у прикладі я розповім як додати
Open Graph протокол на WordPress блог. Але, трішки змінивши код, ви зможете використати його для сайту на будь-якому іншому двигунці.
У коді, знайдіть рядок, де прописано заголовок вашого блогу (тег <title>
). Тоді одразу під ним додайте такі рядки:
Крім того, додайте наступний код у файл functions.php
вашої теми:
//Зображення для ФБ
function image_for_social() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('//i', $post->post_content, $matches);
$first_img = $matches[1][0];
if( empty($first_img) ){ //якщо допис немає зображення, то виводимо лого сайту
$first_img = get_bloginfo('template_url').'/images/logo.jpg'; //вкажіть свою назву файла лого
}
return $first_img;
}
//Опис для ФБ
function og_meta_desc() {
global $post;
$meta = strip_tags($post->post_content);
$meta = str_replace(array("\n", "\r", "\t"), ' ', $meta);
$meta_count = strlen($meta);
if ($meta_count >= 200 ) {
$meta = mb_substr($meta, 0, 200, 'UTF-8').'...';
} else {
$meta = mb_substr($meta, 0, 200, 'UTF-8');
}
if ( is_single() || is_page() ) {
echo '';
} else {
echo '';
}
}
Тепер невеличке пояснення. Те що ми додали – це обов’язкові мета-теги протоколу Open Graph. За бажанням, ви можете вписати ще й необов’язкові мета-теги. Також, ми вибрали тип об’єкта “blog” у og:type
. Детальніше про можливі значення типу об’єкта дивіться на сторінці документації Open Graph. У fb:admins
вказано перелік адмінів сторінки. Кожен користувач, ID якого вписано у це поле, повинен “лайкнути” сторінку, щоб бути затвердженим адміном.
Функція image_for_social()
додає посилання на зображення допису. А за його відсутності – на лого сайту. Функція og_meta_desc()
додає короткий опис, сформований з тексту допису. А якщо ми знаходимось на головній сторінці, то для цих потреб береться текст опису сайту.
Тепер потрібно додати на сайт код Javascript SDK. Він увімкне доступ до всіх можливостей Graph API через JavaScript. Просто скопіюйте і вставте нижче наведений код перед закриваючим тегом </body>
:
Цей код завантажується асинхронно, тож він не блокуватиме жоден елемент вашого блога. Не забудьте вписати ID код вашого додатка, інакше нічого не працюватиме.
Найпростіше і найшвидше додати кнопку “Like” на свій сайт. Тому відкрийте файл single.php і скопійюйте наступний код у те місце, де бажаєте виводи згадану кнопку:
У наведеному вище коді вказано атрибути якими користуюсь я. Ви можете додати свої або змінити існуючі самостійно, ось тут документація по кнопці “Like”.
Facebook Insights це система статистики для власників Facebook сторінок та розробників платформи Facebook. Вона дозволяє, зокрема, переглянути реферальний трафік на сайт із Facebook, загальну участь сайту і його присутність у соціальній мережі (к-сть лайків, взаємодія і таке інше). Ці графіки виглядають приблизно ось так:
Щоб переглянути статистику по своєму сайту потрібно увійти до Insights Dashboard. Лише адміністратори сайту та власник додатку можуть бачити його статистику. Пам’ятатєте ми прописували мета-теги fb:app_id
або fb:admins
? Ось вони і вказують на власника чи адміна.
Comments are closed.
Пропоную! Вважати цей пост як офіційну документацію від Facebook, молодець, все чудово описано і показано на прикладах.
Дякую! Друзі-блогери вже запитували мене кілька разів про інтеграцію у той чи інший спосіб. То ж у цій статті я вирішив максимально розповісти про ці всі сторони і методи інтеграції. Код, що міститься у дописі, доопрацьований після тестування і успішно функціонує на кількох блогах, включаючи цей.
[…] у своїй статті про повну інтеграцію з Facebook Open Graph я писав: “Просто скопіюйте і вставте нижче наведений код […]
Дякую. Дуже гарно описаний урок. Зробив так, як прописано. Зіштовхнувся з деякими проблемами:
1, Проблема публікації в фейсбук. Перед контентом на сайті є слайдер, де виводяться анонси записів. При кліку на кнопку публікації в фейсбук, публікується мініатюра і анонс не запису, а дані активного слайду. Як заборонити слайдеру надавати свої дані в кнопку соц.мережі.
2. В Опері при публікації ВКонтакте, у виринаючому вікні все відображається коректно, але безпосередньо на стіну не публікується мініатюра і анонс.
Порадьте, як вирішити ці проблеми.
Сайт: трумэн.рф
Дуже дякую
Дякую вам!
Щодо першого пункту. Код треба доопрацьовувати під ваші потреби, під ваш сайт. Без коду теми – не можливо точно сказати як вирішити проблему.
Щодо другого пункту. Я завжди не любив VK 🙂 Ну тут схоже що ще й існує якийсь оригінальний баг саме для Опери. Тут я вже точно не допоможу.
Віталій. Ви можете подивитись? Вам можна вислати шаблон? На яку адресу?
Давайте спробуємо. Надсилайте всю тему на [email protected]
Стаття хороша та, нажаль, не видно всього коду
Дякую!
Виправився, поновив втрачене. В принципі, стаття вже напевно трохи застаріла. І вже все роблю інакше і Facebook API вже оновилось. Треба буде колись оновлений варіант написати)