Как выводить первую картинку из материала при нажатии кнопки Facebook Like

1014
5

Многие пользователи WordPress после изменения функционала кнопки Facebook Like столкнулись с проблемой того, что в профилях к ссылке крепится картинка, случайно выбираемая Фейсбуком

Естественно, лучше, чтобы выводилась первая картинка из содержания, которая обычно и является иллюстрацией к посту, а в случае отсутствия таковой, — логотип сайта.

Есть решение этой проблемы: необходимо в редакторе темы открыть файл functions.php и добавить в него следующий код:

[php]// Даём понять Фейсбуку, где правильная картинка
add_action( ‘wp_head’, ‘fb_like_thumbnails’ );

function fb_like_thumbnails()
{
global $posts;
$default = ‘/images/logo.png’;

$content = $posts[0]->post_content; // $posts is an array, fetch the first element
$output = preg_match_all( ‘/<img.+src=[\’"]([^\’"]+)[\’"].*>/i’, $content, $matches);
if ( $output > 0 )
$thumb = $matches[1][0];
else
$thumb = $default;

echo "\n\n<!— Facebook Like Thumbnail —>\n<link rel=\"image_src\" href=\"$thumb\" />\n<!— End Facebook Like Thumbnail —>\n\n";
}
[/php]

Конечно, путь ‘/pics/logo.png’ необходимо заменить на путь к Вашему логотипу. А в остальном результат получился следующий:

В случае отсутствия в посте каких-либо картинок, выводится логотип:

Оставить комментарий

Комментарии | 5

Поиск