WordPressテーマSANGOの質問

Twitterシェア文言の変更

アバター
YUICHIRO

いつもお世話になっております。

Twitterでシェアしたときにデフォルトで表示される文言を
「記事タイトル|サイト名 URL @TwitterIDさんから」から
「記事タイトル|サイト名 @TwitterID URL」に
変更する方法を教えていただけないでしょうか。

【変更点】
①TwitterIDをURLよりも前にする
②TwitterIDのあとの「さんから」を削除する

【理由】
①URLより後に文言があると、Twitterで表示されたときにURLとTwitterカード(OGP)が二重で表示されてしまうため。(URLが文末だとTwitterカードだけが表示される)
②「さんから」を削除することで、少しでもデフォルトの文字数を減らしたいため

大変恐縮ですが、何卒よろしくお願いいたします。

SANGO
質問板アーカイブ
コメントへの回答
サルワカくん
サルワカくん
2019/11/28

お世話になっております。

前提として、Twitterのシェアボタンの仕様はTwitterが決めており、
できることは限られています。

たとえば「○○さんから」と表示させるためにはツイートリンクのURLにvia=アカウント名と含めることになります。
これを読み取り「さんから」をつけているのはTwitter側の仕様です。

via=アカウント名を消すことで「○○さんから」を消すことはできますが、ユーザー名を残しつつ「さんから」という文字だけを消すor変更することはできないと思われます。

なお、SANGOでvia=アカウント名を消すためには外観⇒カスタマイズ⇒SANGOのオリジナル機能=>シェアボタンの設定=>「シェアボタンからのツイートに表示するアカウント名」を空欄にすればOKです。
よろしくお願いします。

アバター
YUICHIRO
2019/11/28

ご丁寧にご教授いただきありがとうございます。

「○○さんから」がTwitterの仕様だったとは知らず、申し訳ございませんでした。

また、大変恐縮ではあるのですが、①のTwitterIDをURLよりも前にする方法を教えていただくことは可能でしょうか。

何卒よろしくお願い申し上げます。

サルワカくん
サルワカくん
2019/11/29

「@ユーザー名」の配置場所もTwitterの仕様ですので、こちらでは変更できません。
Twitterに要望を出してみると良いのではないでしょうか。
よろしくお願いします。

アバター
YUICHIRO
2019/11/29

※一人のひとが何度も質問しないようにとガイドラインに書かれてありましたので、この質問はスルーしていただいても構いません。

「@ユーザー名」の配置場所もTwitterの仕様だとは知りませんでした。
大変申し訳ございません。

どうしても諦めきれず、Twitterの「via=アカウント名」を使わない方法を考えてみました。

現状、シェア用のページタイトルを取得する際に、トップ以外はタイトルに「|サイト名」を含めるということをされていると思うのですが、同様の方法で、Twitterでシェアする際はサイト名の後に「 @xxxxx 」を含めるということ、子テーマのfunctions.phpに何かしら追記することでできないでしょうか?

PHPの知識がないため、自分ではどうしていいかわからず、ご教授いただけますと幸いでございます。
(しつこくて大変申し訳ございません…!)

サルワカくん
サルワカくん
2019/11/29

あー、なるほど!
そういう手がありましたね。試してみたところできましたのでコードを紹介します。

function sng_get_tweet_url($url, $title) {
    $username = urlencode(" @ユーザー名");
    return 'https://twitter.com/share?url='.$url.'&text='.$title.$username;
}

これを子テーマのfunctions.phpに貼り付ければOKです。
このURL部分がツイートのURLになるので、たとえばこちらの記事などを参考に色々と試してみると良いかと思います。

よろしくお願いします。

アバター
YUICHIRO
2019/12/02

できました!!
ありがとうございます!感激です!!

saruwakakun.com の記事にもいつも助けていただいております。
この場を借りて、改めて御礼申し上げますm(__)m

サルワカくん
サルワカくん
2019/12/02

うまくいったようで良かったです!ご報告ありがとうございました。