WordPress

WordPressのカテゴリー名+投稿記事タイトル+URLでSNSシェア情報を取得する方法

WordPressの投稿記事ページに設置するSNSシェア用のボタンはプラグインを使えば簡単に設置できますが、よくあるプラグインはSNSアイコンと記事タイトルと記事URLでシェアするのが一般的です。
ほとんどの場合、記事タイトルと記事URLだけで良いのでがたまにシェア用のテキストを変えたい(カテゴリー名を追加したい等)場合があったりするケースがあるので、プラグインを使わずに使えるSNSシェア用の情報を取得する方法をご紹介します。

投稿記事ページのURLを取得

※URLエンコードする必要があるのでthe_permalink()ではなくget_permalink()を使います。get_permalink()で取得したURLをurlencode()でエンコードします。

<?php echo urlencode(get_permalink()); ?>

投稿記事タイトルを取得

※URLエンコードする必要があるのでthe_title()ではなくget_the_title()を使います。get_the_title()で取得したURLをurlencode()でエンコードします。

<?php echo urlencode(get_the_title()); ?>

投稿記事のカテゴリー名を取得

※get_the_category()を使ってカテゴリー名を取得します。カテゴリー名をurlencode()でエンコードします。以下の6行名になります。

<?php
$category = get_the_category();
$category[0]->cat_ID;	//カテゴリーID
$category[0]->category_nicename;	//カテゴリースラッグ

echo urlencode($category[0]->cat_name);	//カテゴリー名をURLエンコード
?>

各種SNSシェア用のURL

Facebook

※Facebookはmetaタグでogpも設定する必要があります。以下は「記事URL」のみ設定してます。

<a href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode(get_permalink()); ?>&amp;src=sdkpreparse" target="_blank">Facebook</a>

Twitter

※以下は「記事URL}+「カテゴリー名」+「|」+「投稿記事タイトル」を設定してます。「|」のURLエンコード文字が「%7C」です。

<a href="https://twitter.com/share?url=<?php echo urlencode(get_permalink()); ?>&text=<?php echo urlencode($category[0]->cat_name); ?>%7C<?php echo urlencode(get_the_title()); ?>" target="_blank">Twitter</a>

LINE

※以下は「記事URL}+「カテゴリー名」+「|」+「投稿記事タイトル」を設定してます。「|」のURLエンコード文字が「%7C」です。

<a href="http://line.me/R/msg/text/?<?php echo urlencode($category[0]->cat_name); ?>%7C<?php echo urlencode(get_permalink()); ?>" target="_blank">LINE</a>

 

※流用される場合は自己責任でお願いします。