Простенькая разметка Open Graph

Плюсануть
Поделиться
Класснуть

Open Graph

Понадобилось мне тут сделать более-менее достойное отображение информации Open Graph для красивого отображения ссылок в различных социальных сетях, таких как ВКонтакте и Facebook. За часик удалось сделать простое решение, им и поделюсь. Делал всё в блоге на WordPress.

Самые главные теги были og:title, og:description и og:image. С og:description всё было просто, если этого тега нет, то описание дёргается из тега meta name="description", который создают практически все seo-плагины для WordPress. А вот og:title и og:image пришлось пилить самому.

С og:title всё просто. Делаем такие строчки:

echo "<meta property=\"og:title\" content=\"";
the_title();
echo "\" />\n";

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

Далее. Для og:image использовал такой код:

echo "<meta property=\"og:image\" content=\"" . catch_that_image() . "\" />\n";

Вся соль в функции catch_that_image(), которой я пользуюсь давно. Она дёргает первое изображение из поста. Очень удобно для многих целей. Чтобы воспользоваться данной функцией просто добавьте следующий код в functions.php:

function catch_that_image() {
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 = "http://тут_путь_к_картинке/default.jpg";
}
return $first_img;
}

Обобщим код для создания og:title и og:image в один:

function socialki() {
echo "<meta property=\"og:title\" content=\"";
the_title();
echo "\" />\n";
echo "<meta property=\"og:image\" content=\"" . catch_that_image() . "\" />\n";
}

Код выше также нужно добавить в functions.php. После этого в header.php добавляем такую строчку междуи:

<?php if (function_exists('socialki')) socialki(); ?>

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

(Visited 1 090 times, 1 visits today)
Последнее изменение записи: 28.12.2015 | Рубрика: Работа | Метки: , ,
Плюсануть
Поделиться
Класснуть