"このページを共有する" - 現在のURLを取得する にする必要があるウィジェットを作成しています。
http://www.facebook.com/sharer.php?u=http://myurl.com/a-specific-page
私は通常のテキストウィジェットを使っています。現在のURLにアクセスして共有リンクに配置するにはどうすればよいですか。
@ user653は正しいです。PHPを使用してテキストウィジェットで実行することはできませんが、 -を使用してテキストウィジェットで実行できますJQuery /Javascript。方法は次のとおりです。
Facebook Share Button を使用することを計画しているため、ウィジェットにHTMLコードが表示されますか?
<a name="fb_share"></a>
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share"
type="text/javascript">
</script>
Javascript's windows.location
object.propertyを使用しますはいの場合、次のすべてのコードを追加するをウィジェットに追加できます。
<script type="text/javascript">
jQuery(document).ready(function($) {
$("fb_share").attr("share_url") = encodeURIComponent(window.location);
});
</script>
<a name="fb_share"></a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript">
</script>
functions.php
ファイルにjQueryを必ずエンキューしてくださいただし、上記のコードを機能させるには、おそらくWordPressにバンドルされている付属のjQueryスクリプトをキューに入れる必要があります。次のコード行をテーマのfunctions.php
に追加しますそうすること):
wp_enqueue_script('jquery');
皮肉なことに、クライアントに対してFacebook Like Buttonを Shortcode として実装したので、私もshare(punpun。;)現在のURLの取得方法は、$_SERVER
変数から確認できます。 /wp-includes/canonical.php'
のredirect_canonical()
関数からの正確なコードをスカーフしました。これをテーマのfunctions.php
ファイルに含めることもできます。
add_shortcode('facebook-like','my_facebook_like_button');
function my_facebook_like_button($echo=true) {
// Generate the HTML required to place a Facebook "Like" button inside a shortcode
// See Docs: http://developers.facebook.com/docs/reference/plugins/like
$requested_url = is_ssl() ? 'https://' : 'http://';
$requested_url .= $_SERVER['HTTP_Host'];
$requested_url .= $_SERVER['REQUEST_URI'];
$html =<<<HTML
<iframe src="http://www.facebook.com/plugins/like.php?href={$requested_url}&layout=button_count&show_faces=false&width=60&action=like&font=verdana&colorscheme=light&height=21&ref=blog"
scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:90px; height:25px"></iframe>
HTML;
if ($echo)
echo $html;
else
return $html;
}
使用方法を示すスクリーンショットを次に示します。テキストウィジェット コンテンツフィルタを処理しない なので、テキストウィジェットではショートコードが機能しないことに注意してください。私はすぐに見て、ショートコードを処理できるテキストウィジェットを追加するプラグインを見つけませんでしたが、それを書くのは難しくなく、Facebookの[共有]または[いいね]ボタンを追加するだけのウィジェットを書くのも難しくありません。 FWIW。
お役に立てれば!
$ _SERVER変数を使うだけです:
$url = add_query_arg( 'u', $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"], 'http://www.facebook.com/sharer.php' );
テキストウィジェットのコンテンツをそのように動的にすることはできません。たとえば、 "Executable PHP widget"(http://wordpress.org/extend/plugins/php-code-widget/)を入手してください。これで、可変URLを挿入するためのphpコードを含むテキストなどを追加できます。
[編集]参照 http://developers.facebook.com/docs/reference/plugins/like 。これをあなたのphp code supportウィジェットに入れてください:
<?php global $post; ?>
<iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo urlencode(get_permalink($post->ID)); ?>&layout=standard&show_faces=false&width=450&action=like&colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:60px;"></iframe>
これはあなたのための完全なコードです。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>
<a href="http://Twitter.com/share" class="Twitter-share-button" data-url="" data-count="vertical" data-via="arkliapp">Tweet</a>
<script type="text/javascript" src="http://platform.Twitter.com/widgets.js"></script>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like id="fb_like" href="" layout="box_count" show_faces="true" width="55" font=""></fb:like>
<script type="text/javascript">
jQuery(document).ready(function($) {
$("#fb_like").attr("href") = encodeURIComponent(window.location);
$(".Twitter-share-button").attr("data-url") = encodeURLComponent(window.location);
});
</script>