WordPressコメント欄URLを自動的にハイパーリンクにする。

2009年01月14日 21時27分 正午の月齢:18.0  月名:寝待月  潮汐:中潮 月齢:18.0[寝待月] 潮汐:中潮
(最終更新日:2019年09月17日)
16年前に投稿 | WordPress | 3件のコメント

2分ぐらいで読めます。

この記事は情報が古い場合があります。

元々コメントは少ない当サイト。でもたまにはコメントを頂戴することもあるので、コメンテーターの利便性を考慮して、URLが書かれていたら自動的にハイパーリンクになるようにしてみました。

基本的には他サイトの受け売りなのですが、それだけではあまりにも芸がないので、WordPressへの実装方法を書くことにします。
参考にしたサイトは、「MUGEN NO TSUBASA PHP:URLを自動的にハイパーリンク設定。」です。元ネタは教えて! goo。具体的に書くと、

$proto = ereg_replace("(https?|ftp|news)(://[[:alnum:]+$;?.%,!#~*/:@&=_-]+)","<a href="\1\2" target="_blank">\1\2</a>",$proto);

という元ネタを、target="_blank"はXHTML1.0 strict的にダメなのでまずは削ります。先頭の$proto$comment_contentに変更。尻の$protoは$comment_content_preに変更。これでフォームから送信されたcommentのデータがうまく後工程に流れてくれます。

これをwp-comments-post.phpに入れます。39行目あたりの$comment_content  = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;$comment_content_pre = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;に変更。その次の行に先ほど加工したモノを入れるとこんな感じになります。

$comment_content_pre  = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;
$comment_content      = ereg_replace("(https?|ftp|news)(://[[:alnum:]+$;?.%,!#~*/:@&=_-]+)","<a href="\1\2">\1\2</a>",$comment_content_pre);

となります。これでOK!

古い記事・新しい記事

古い記事 [2009年01月08日]
新しい記事 [2009年01月15日]

3件のコメント

  1. からのコメント | 2009年01月14日 #

    自動ハイパーリンクのテスト。
    http://susu.cc/
    いかがですか。

  2. からのコメント | 2009年02月14日 #

    あら、別にコレ実装しなくても元々URLをハイパーリンクにしてくれる? みたいです。
    今日はじめて気づいた…。

  3. 【DMSGuestbookカスタマイズメモ】URLをハイパーリンクに変換 | Think.(http://newstar.main.jp)からのピンバック | 2009年11月10日 #

    [...] 参考:WordPressコメント欄URLを自動的にハイパーリンクにする。 | 煤式自動連結器: [...]

ごめんなさい、コメントフォームは閉鎖しています。

Translate »