09
Дек
2017

Почему при шаринге с сайта в фейсбук отправляется картинка другой новости?

Есть сайт на wordpress, где в шапке настроил мета-теги для twitter и facebook заданные с помощью open graph. (проблема с выводом картинки у фесбука)

Сам код:

<meta name="twitter:site" content="@http://site.ru">
  <meta name="twitter:creator" content="@site.ru">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:title" content="<?php the_title(); ?>">
  <meta property="og:type" content="image/jpeg">
        <meta property="og:url"  content="http://site.ru">
  <meta property="og:title"  content="<?php the_title(); ?>">
  <meta name="twitter:description" content="<?php while (have_posts()):the_post();
  $out_excerpt = str_replace(array("\r\n", "\r", "\n", "'" ,"\""), "", get_the_excerpt());
  echo $out_excerpt; endwhile; ?>">
    <meta property="og:description" content="<?php while (have_posts()):the_post();
  $out_excerpt = str_replace(array("\r\n", "\r", "\n", "'" ,"\""), "", get_the_excerpt());
  echo $out_excerpt; endwhile; ?>">
  <?php if(!has_post_thumbnail( $post->ID ))
  {
  $default_image='site.ru/logo.png';
  echo '<meta name="twitter:image:src" content="' . $default_image . '">';
  echo '<meta property="og:image" content="' . $default_image . '">';
  }
  else
  {
  $thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' );
  echo '<meta name="twitter:image:src" content="' . esc_attr( $thumbnail_src[0] ) . '">';
  echo '<meta property="og:image" content="' . esc_attr( $thumbnail_src[0] ) . '">';
  } echo "\n"; ?>
  <link rel="profile" href="http://gmpg.org/xfn/11">
  <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">

Вот в таком виде выводится на сайте

<meta name="twitter:site" content="@http://site.ru">
  <meta name="twitter:creator" content="@site.ru">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:title" content="Content">
  <meta property="og:type" content="image/jpeg">
        <meta property="og:url"  content="http://site.ru">
  <meta property="og:title"  content="Title">
  <meta name="twitter:description" content="description">
       <meta property="og:description" content="description">
  <meta name="twitter:image:src" content="http://site.ru/img-768x500.jpg"><meta property="og:image" content="http://site.ru/img-768x500.jpg">
  <link rel="profile" href="http://gmpg.org/xfn/11">
  <link rel="pingback" href="http://site.ru/xmlrpc.php">

При шаринге в твиттере все новости выводятся отлично, а вот в отладчике facebook пишет вот такую ошибку:

Свойство «og:image» должно быть указано в явном порядке, даже если его значение может быть вычислено на основании других тегов.

и выводит каждый раз одну и ту же картинку (не новости, котрую постим!), причем не лого, как можно было подумать, а взятую с другой новости. (хотя в коде выводится правильная, как и для твиттера) В чем может быть ошибка и как можно это исправить?

Источник: https://ru.stackoverflow.com/questions/755885/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BF%D1%80%D0%B8-%D1%88%D0%B0%D1%80%D0%B8%D0%BD%D0%B3%D0%B5-%D1%81-%D1%81%D0%B0%D0%B9%D1%82%D0%B0-%D0%B2-%D1%84%D0%B5%D0%B9%D1%81%D0%B1%D1%83%D0%BA-%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B0-%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B9-%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8

Тебе может это понравится...

Добавить комментарий