У меня странная проблема здесь.
Сайт WordPress, разработанный нами для клиента, www.oasisplace.com.my, имеет проблемы с публикацией сообщений в блоге.
В нижней части каждого сообщения в блоге есть значок обмена в Facebook.
Если щелкнуть по нему, появится диалоговое окно Facebook.
Для некоторых пользователей показанное изображение заменяется самой иконкой Facebook. Для некоторых других это просто пустое изображение.
Тем не менее, для меня и некоторых членов команды разработчиков пост обычно делится видимым изображением.
Можно ли что-нибудь сделать, чтобы решить эту проблему?
Я предполагаю, что что-то напортачило во время миграции с промежуточного сервера (с другим URL-адресом сайта) на рабочий сервер для официального развертывания.
Благодарю.
Если вы включите
<link rel="image_src" href="http://www.oasisplace.com.my/path/to/image.jpg"/>
или же
<meta property="og:image" content="[image url]"/>
Facebook должен поднять это последовательно.
Вставить эти вещи в заголовок на сайте WordPress может быть жалко.
http://werewp.com/wordpress/how-to-integrate-facebook-open-graph-protocol-into-your-wordpress-theme/ использует вторичный цикл внутри header.php (или там, где ваш <голова> раздел находится). Кажется неэффективным, но, вероятно, работает.
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" prefix="og: http://ogp.me/ns#" <?php language_attributes(); ?>>
<?php if (have_posts()):while(have_posts()):the_post();endwhile;endif;?>
>
<?php if (is_single()) { ?>
<meta property="og:title" content="<?php single_post_title(''); ?>" />
<meta property="og:description" content="<?php echo strip_tags(get_the_excerpt($post->ID)); ?>" />
<meta property="og:type" content="article" />
<meta property="og:image" content="<?php echo wp_get_attachment_thumb_url( get_post_thumbnail_id( $post->ID ) ) ?>" />
<?php } else { ?>
<meta property="og:site_name" content="<?php bloginfo('name'); ?>" />
<meta property="og:description" content="<?php bloginfo('description'); ?>" />
<meta property="og:type" content="website" />
<meta property="og:image" content="<?php bloginfo('template_url') ?>/path/to-your/logo.jpg" />
<?php } ?>
Я включил плагин Yoast SEO на все сайты, которые я создаю в эти дни. Одна из причин в том, что он обрабатывает заголовки Facebook для нас. Он использует разумные значения по умолчанию и позволяет вам перезаписать эти значения по умолчанию в любом посте.
Других решений пока нет …