Как я могу контролировать Facebook как изображение? [закрыто]

13

У меня есть блог с несколькими сообщениями, и у каждого сообщения есть встроенная кнопка « Мне нравится» на Facebook . Нажатие на кнопку открывает диалог, чтобы мои посетители могли поделиться постом в Facebook с комментарием.

Однако при совместном использовании изображение, выбранное Facebook, является общим почтовым значком, а не пиктограммой сообщения.

Как я могу контролировать изображение, которое используется при обмене?

Ханнит Коэн
источник
Этот сайт недавно был взломан, по-видимому ...
MirroredFate
1
Едва не вопрос Wordpress ...
Каавиар

Ответы:

7

Изображение, которое используется для обмена, взято из фрагмента кода в заголовке вашего сайта, который будет выглядеть примерно так:

<link rel="image_src" href="path/to/theme/screenshot.png" />

Обычно это ссылки на скриншот вашего сайта в теме. Если вы удалили код из заголовка файла и поместили его в single.php внутри цикла и назвали миниатюру вашего поста в элементе href, я думаю, это сработает. Так это будет выглядеть примерно так:

<link rel="image_src" href="<?php the_post_thumbnail(); ?>" />

Это будет означать, что если у вас есть кнопки на страницах с несколькими записями, у вас, вероятно, не будет изображения. Если вы включили некоторый условный код, который удалил его только в single.php, то у вас будет нормальное изображение на любой странице с несколькими публикациями, кнопкой «Мне нравится» и миниатюрой публикации, когда используется шаблон single.php. Таким образом, код заголовка будет:

<?php if ( is_single() ) { /* do nothing on single pages */ } else { ?>
<link rel="image_src" href="path/to/theme/screenshot.png" />
<?php } ?>

Тогда вы все равно используете код, чтобы включить миниатюру поста в single.php.

curtismchale
источник
3
Это было помечено как возможно устаревшее, пожалуйста, попробуйте обновить свой ответ (возможно, что-то вроде «это было тогда, теперь это работает лучше»).
Первый
11

Facebook теперь использует протокол opengraph. Вы можете добавить изображения, используя:

<meta property = "og: image" content = "http: // YOUR_IMAGE_URL" />

Добавьте эту строку в заголовок вашей страницы.

В качестве альтернативы вы можете использовать мой плагин, чтобы сделать это автоматически.

Он просто делает эту работу и никаких настроек не требуется.

http://shailan.com/wordpress/plugins/facebook-meta-tags-plugin/

mattsay
источник
5

Вам нужно использовать протокол Open Graph Facebook. Я не уверен, почему принятый ответ не является одним из многих связанных с OG ответов (за которые я проголосовал), но это неправильно.

http://developers.facebook.com/docs/opengraph/

Вы можете настроить многие вещи, включая заголовок, изображение, описание, категорию, последнее обновление и т. Д., Если вы используете Open Graph. Если вы используете эти другие половинные решения, вам не хватает всей картины.

Если бы я не следовал протоколу OG для всей работы FB, которую я делаю, меня уволили.

bitwit
источник
1

Если вы делаете следующее:

<link rel="image_src" href="<?php the_post_thumbnail(); ?>" />

Вы обнаружите, что Wordpress выводит HTML-код, необходимый для отображения изображения, а не только SRC, который вам действительно нужен.

Делать что-то вроде:

<?php

// Featured Image for FB Like
$feature_image = get_the_post_thumbnail($post->ID);

// Get image source
$doc = new DOMDocument();
$doc->loadHTML($feature_image);
$imageTags = $doc->getElementsByTagName('img');

foreach($imageTags as $tag) {
        $image_url = $tag->getAttribute('src');
    }
?>
<link rel="image_src" href="<?php echo $image_url; ?>" />

получает только URL. Это, вероятно, долгий путь и, возможно, только сокращенный, но это определенно решает проблему.

Надеюсь, что это ставит вас на правильный путь.

Мэтт.


источник
0

Если вы хотите использовать первое изображение вашего поста в качестве миниатюры с откатом к чему-то вроде вашего логотипа, попробуйте мой плагин - http://wordpress.org/extend/plugins/facebook-like-thumbnail/ Объяснение для добавления резервное изображение логотипа находится по адресу http://blog.ashfame.com/?p=888

Ashfame
источник
0
<meta property="og:image" content="http://YOUR_IMAGE_URL" />

Этот метод работает для «лайков»: s, но позже, если вы хотите поделиться ссылкой в ​​вашем журнале (например.), Эта картинка выбирается автоматически.

Без этого метатега вы можете выбирать из всех изображений на связанном сайте.

Кто-нибудь знает какой-нибудь способ сохранить статическое «похожее» изображение, но все же заставить вас выбирать изображение при публикации URL-адреса?

Yo-L
источник
0

Хорошо, я написал немного javascript, чтобы заполнить изображение Meta og: избранным изображением на мой выбор. Это одноразовый хак, который вы добавляете в заголовочный файл.

В моем сообщении WordPress я добавляю идентификатор «Featured-Image» (я знаю, с более поздним WordPress это встроенный, я на старом).

<xmp><img src="http://mysite.com/catphoto.jpg" id="featured-image" /></xmp>

Я пишу метатег для изображения og: с заполнителем, таким как журнал блога. Добавить "id =" meta-image "в тег, т.е.

<meta property="og:image" src="http://mysite.com/logo.jpg" id="meta-image" />

Затем добавьте этот javascript в заголовок:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"> </script>

<script type="text/javascript">
$(document).ready( function(){
    var featured_image = $("#featured-image").attr("src");
    $('meta[property="og:image"]').attr("content",featured_image);
});
Анна Биллстрем
источник
Используйте wp_enqueue_script()для загрузки Javascript в WordPress.
fuxia
Это на самом деле работает? Я уже пробовал что-то подобное безуспешно - отладчик Facebook не распознает мое изображение. Я не думаю, что это парсинг JavaScript.
benedict_w