このブログの前の記事でプラグインを使用せずに WordPressから Twitter, Facebook, Naver ブログなどのソーシャル共有アイコンを追加する方法を紹介したことがあります。しかし、通常 Twitter 共有の場合は、URLアドレスにハングル文字が含まれている場合英語までのリンクがされて、ハングル部分は、リンクがされていない問題が発生することを知りました。 外国で作成されたプラグインを使用する場合も同様の問題が発生することがあります。
このブログでは、自分で作成したコードを使って Facebook과 Twitterに共有するボタンを追加しました。
Twitter 共有時ハングルが含まれているURLのリンクが正常に動作していない場合、
例えば、URLにハングルが含まれている文を 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内のハングルが文字化け。 つまり、リンクは正常に動作しますが、ハングルが文字化け見える欠点があり、この方法を使用しない場合、ハングル部分はしっかりと見えるリンクは正常にされない問題があります。 どちらがより良いかを判断して選択しなければならないようです。 ハングルも正しく表示され、リンクも表示されている方法がある場合は、最も良いようだが、現時点ではどのように見つけるのは容易ではない。
urldecode(get_permalink())を使用してみると成功することもできます。 私はこの方法もよくないされては基本識別アドレス形式(.../?p=post_ID)でツイートするように修正しました。
ハングルのなどの非英語このURLに入ったとき Twitterでリンクが正常に動作し、あるいは表示されない場合どうせタイトルがハングルになっているので、この方法も大丈夫そうです。 この場合、 $ twittersubURL 部分を次のように変更してくれればうまく動作します。
$domain = get_site_url(); $id = get_the_ID(); $twittersubURL = $domain.'/?p='.$id;
固有のアドレスを別の方法で指定したい場合 この記事を参考にしてみてください。
$ domain = get_site_url();
$ id = get_the_ID();
$twittersubURL = $domain.'/?p='.$id;
このコードの位置がどこです? 意外に初心者は、これが最も重要です。
こんにちは、ジェームズ・ボンド様。
私は次の記事で紹介する方法でソーシャル共有ボタン(Facebook, Twitter, Naver, Naver バンド、カカオストーリー)を追加して使用しています。
https://www.thewordcracker.com/intermediate/%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80-%EC%95%8A%EA%B3%A0-%EC%86%8C%EC%85%9C-%EA%B3%B5%EC%9C%A0-%EB%B2%84%ED%8A%BC-%EC%B6%94%EA%B0%80/
Twitterに共有すると、次の図のように壊れて見えるハングルURLの部分が...と表示されるように(あるいはハングルURLの一部だけが壊れて見えるように表示され、後半は末尾記号で表示されるようです)
次のスクリーンショットを参照してください。
https://www.screencast.com/t/jsaBsuLyW1
https://www.screencast.com/t/jsaBsuLyW1
一番最後の部分のコードは、簡単に次のshortlink関数を使用すると、より簡潔と思われる。
wp_get_shortlink(get_the_ID())