0

私は複数の著者の Wordpress プラットフォームを運営しており、著者は記事の多くを複数のページに分けて投稿しています。訪問者は、ボタンをクリックして記事内のページを移動できNextます。これは、ギャラリー、長い記事、リストなど、さまざまな種類の記事です。

[次へ] ボタンについては、もうおなじみだと思います。ここでの問題は、Facebook のいいね ボタンが1 つの記事であることを検出できず、完全に別のページとして処理されることです。

これは、Like ボタンに使用する有効なXHTML 1.0 コードです。

<!--[if IE]>
<iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo urlencode("http://domain.com" . $_SERVER["REQUEST_URI"]); ?>%2F&amp;layout=button_count&amp;show_faces=true&amp;width=300&amp;action=like&amp;font&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border-style:none; overflow:hidden; width:200px; height:21px;" allowTransparency="true">
</iframe>
<![endif]-->
<!--[if !IE]>-->
<iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo urlencode("http://domain.com" . $_SERVER["REQUEST_URI"]); ?>%2F&amp;layout=button_count&amp;show_faces=true&amp;width=300&amp;action=like&amp;font&amp;colorscheme=light&amp;height=21" style="border-style:none; overflow:hidden; width:200px; height:21px;">
</iframe>
<!--<![endif]-->

IE 条件は、IE8 で正しく動作するように存在します。

記事のURLはこんな感じ。元の最初のページは次のとおりです。

http://domain.com/title-of-the-article/

2 ページ目は次のとおりです。

http://domain.com/title-of-the-article/2/

などなど...いいねボタンが 2 ページ目を最初の (元の) ページとして検出し、それらを異なるものとして分離しないようにするにはどうすればよいですか? 私はこれを一日中グーグル検索しましたが、少なくとも50人の異なるプログラマーが解決策なしでこれを求めているのを見つけたに違いないので、明らかに答えを望んでいる他の人がいます.

4

1 に答える 1

0

あなたのこのコードをに置き換えたり、投稿/ページIDをパラメーターとして指定<?php echo urlencode("http://domain.com" . $_SERVER["REQUEST_URI"]); ?>したりしないでください。したがって、コードは次のようになります<?php echo urlencode(get_permalink()); ?><?php echo urlencode(get_permalink($post->ID)); ?>

  //make sure to declare the global $post variable
  global $post;
  <iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo urlencode(get_permalink()); ?>%2F&amp;layout=button_count&amp;show_faces=true&amp;width=300&amp;action=like&amp;font&amp;colorscheme=light&amp;height=21" style="border-style:none; overflow:hidden; width:200px; height:21px;">

 //or with id specified
 global $post;
 <iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo urlencode(get_permalink($post->ID)); ?>%2F&amp;layout=button_count&amp;show_faces=true&amp;width=300&amp;action=like&amp;font&amp;colorscheme=light&amp;height=21" style="border-style:none; overflow:hidden; width:200px; height:21px;">

ページが任意のページ番号にある場合でも、元のページのパーマリンクが表示されます。パーマリンクが異なるため、fbのようなボタンはページを別の別のページに扱います。

于 2012-11-19T02:03:43.247 に答える