Я добился некоторого прогресса в том, чтобы заставить Facebook делиться некоторыми добавлениями с моего сайта, которые генерируются динамически из базы данных MySQL. Я могу вставить Iframe на главной странице моего сайта.
<iframe src="//www.facebook.com/plugins/like.php? href=http://www.webaddress.com.au/description.php%3Fid%3D'.$id.'&width&layout=standard&action=like&show_faces=true&share=true&height=80&appId=596610807121620" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:80px;" allowTransparency="true"></iframe>
Тогда на странице этой ссылки у меня есть следующие метатеги.
<meta property="og:title" content="Listed in the Two Year Olds section" /> <meta property="og:url" content="<?php echo $_SERVER['PHP_SELF'];?>" /> <meta property="og:description" content="<?php echo $row['horsename'];?> " />
Есть ли более дружественный способ сделать это на Facebook? Как кажется, иногда работает, но не все время?
Спасибо
Во-первых, что заставляет вас думать Facebook не как этот код?
Поскольку вы говорите, что это работает иногда, а не другие, я собираюсь предположить, что проблема в том, что вы генерируете недопустимый HTML в некоторых случаях. Каждый раз, когда вы используете текст в контексте HTML, вам нужно избегать его. htmlspecialchars()
могу сделать это для вас.
<meta property="og:url" content="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" />
<meta property="og:description" content="<?php echo htmlspecialchars($row['horsename']); ?> " />
Я мог бы также предложить использовать шаблонизатор, так как он становится немного занят, если у вас много динамического контента на ваших страницах.
Спасибо всем за вашу помощь. Я добавил ог для изображения, мета-свойства теперь выглядят так.
<meta property="og:title" content="Listed in the Yearlings section" /> <meta property="og:url" content="<?php echo $_SERVER['PHP_SELF'];?>" /> <meta property="og:description" content="<?php echo $row['horsename'];?> " /> <meta property="og:image" content="http://www.justcuttin.com.au/photo/<?php echo $row['photo1'];?>"/>
Теперь я получаю более надежные результаты.