0

特定のページに個別商品の「いいね」ボタンを設置したい。これを行う方法はありますか?ページ自体に「いいね」ボタンしか設置できませんでした。サンプル 1 ページに 3 つの商品があります。ユーザーが好きな製品を特定できるようにするには、このページに 3 つの「いいね」ボタンが必要です。

4

1 に答える 1

0

Open Graph (プロトコル) は基本的に、各オブジェクト (= 製品) が独自の URL と Web ページを持っていることを前提としています。そうすれば簡単です。各製品ページで正しい og:title、og:url、og:image などを設定するだけです。

http://yourdomain.com/product-A
http://yourdomain.com/product-B
http://yourdomain.com/product-C

製品概要ページhttp://yourdomain.com/productsには、3 つのいいねボタンがあります。

<div class="fb-like" data-href="http://yourdomain.com/product-A"/>
<div class="fb-like" data-href="http://yourdomain.com/product-B"/>
<div class="fb-like" data-href="http://yourdomain.com/product-C"/>

終わり!

何らかの理由で個別の製品ページがない場合は、Facebook クローラー用に個別の URL に「ダミー」ページをセットアップする必要があります。次に、ユーザー エージェントによってクローラーを検出し、適切な OG メタタグのセットを配信します (ページには with タグ以外を含める必要はありません)。通常のユーザーは、製品概要ページにリダイレクトする必要があります。これを行う必要があるPHPコードを次に示します。

<?php
if (!(strpos(strtolower($_SERVER["HTTP_USER_AGENT"]),"facebookexternalhit") === false)) {
  // Its Facebook crawler, give him what he needs!
  echo '<html><head>';
  echo '<meta property="og:title" content="Product A">';
  echo '<meta property="og:url" content="http://yourdomain.com/product-A">';
  echo '</head></html>';
} else {
  // normal user, lets redirect
  header("Location: http://yourdomain.com/products");
}
?>
于 2013-01-23T22:46:02.027 に答える