Twitter 共有時ハングルが含まれているURLが正しくリンクがされていない場合は、

Last Updated: 2024 年 05 月 20 日 3のコメント

このブログの前の記事でプラグインを使用せずに WordPressから Twitter, Facebook, Naver ブログなどのソーシャル共有アイコンを追加する方法を紹介したことがあります。しかし、通常 Twitter 共有の場合は、URLアドレスにハングル文字が含まれている場合英語までのリンクがされて、ハングル部分は、リンクがされていない問題が発生することを知りました。 外国で作成されたプラグインを使用する場合も同様の問題が発生することがあります。

このブログでは、自分で作成したコードを使って Facebook과 Twitterに共有するボタンを追加しました。

Twitter 共有時ハングルが含まれているURLのリンクが正常に動作していない場合、

例えば、URLにハングルが含まれている文を Twitter共有してみれば、次の図のように共有されます:

WordPress Twitter 共有

図のように英語でされたURLの部分だけがリンクされて、ハングル部分からリンクがありません。 この場合に、リンクをクリックすると、 thewordcracker.com/miscellaneous/に接続されます。 この問題を解決するには、 urlencode 関数を使用してアドレスをエンコードしてくれればされます。 (あるいはハングルをURLに含まれていないように固有のアドレスを設定する方法も可能だがその場合は、一意のアドレスが変更されるため好ましくありません。)

例えば「プラグインを使用せずに、ソーシャル共有ボタン/Naver ブログの共有ボタンを追加する方法「で紹介した方法を使用する場合 Twitter 部分を次のように変更します:

$ twittersubURL = urlencode($ crunchifyURL); $twitterURL = 'https://twitter.com/intent/tweet?text='.$crunchifyTitle.'&url='.$twittersubURL.'&via=XXXXXXXXXX; //XXXXXXXXXX部分は Twitter IDで置き換え

今ハングル文字が含まれている文章を共有すると、共有された記事からのリンクが正常に動作します。

メモ: この方法を使用する場合、 Twitter 記事内のリンクURL内のハングルが文字化け。 つまり、リンクは正常に動作しますが、ハングルが文字化け見える欠点があり、この方法を使用しない場合、ハングル部分はしっかりと見えるリンクは正常にされない問題があります。 どちらがより良いかを判断して選択しなければならないようです。 ハングルも正しく表示され、リンクも表示されている方法がある場合は、最も良いようだが、現時点ではどのように見つけるのは容易ではない。

追加: ハングルのなどの非英語このURLに入ったとき Twitterでリンクが正常に動作し、あるいは表示されない場合 urldecode(get_permalink())を使用してみると成功することもできます。 私はこの方法もよくないされては基本識別アドレス形式(.../?p=post_ID)でツイートするように修正しました。

WordPress Twitter 共有リンク形式

どうせタイトルがハングルになっているので、この方法も大丈夫そうです。 この場合、 $ twittersubURL 部分を次のように変更してくれればうまく動作します。

$domain = get_site_url(); $id = get_the_ID(); $twittersubURL = $domain.'/?p='.$id;

固有のアドレスを別の方法で指定したい場合 この記事を参考にしてみてください。

参照


3のコメント

コメント

  1. $ domain = get_site_url();
    $ id = get_the_ID();
    $twittersubURL = $domain.'/?p='.$id;

    このコードの位置がどこです? 意外に初心者は、これが最も重要です。

    応答