WordPressの投稿記事ページに設置するSNSシェア用のボタンはプラグインを使えば簡単に設置できますが、よくあるプラグインはSNSアイコンと記事タイトルと記事URLでシェアするのが一般的です。
ほとんどの場合、記事タイトルと記事URLだけで良いのですが、たまにシェア用のテキストを変えたい(カテゴリー名を追加したい等)場合があったりするケースがあるので、プラグインを使わずに使えるSNSシェア用の情報を取得する方法をご紹介します。
WordPress投稿記事ページのURLを取得
※URLエンコードする必要があるのでthe_permalink()ではなくget_permalink()を使います。get_permalink()で取得したURLをurlencode()でエンコードします。
<?php echo urlencode(get_permalink()); ?>
WordPress投稿記事タイトルを取得
※URLエンコードする必要があるのでthe_title()ではなくget_the_title()を使います。get_the_title()で取得したURLをurlencode()でエンコードします。
<?php echo urlencode(get_the_title()); ?>
WordPress投稿記事のカテゴリー名を取得
※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はmetaタグでogpも設定する必要があります。以下は「記事URL」のみ設定してます。
<a href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode(get_permalink()); ?>&src=sdkpreparse" target="_blank">Facebook</a>
※以下は「記事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>
※流用される場合は自己責任でお願いします。