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

2009年01月14日 正午の月齢:18.0  月名:寝待月  潮汐:中潮 月齢:18.0[寝待月] 潮汐:中潮 | 9年前 | 旧暦:2008年12月19日 | 赤口
WordPress | 3件のコメント

この記事を読むのに必要な時間の目安: 3分ぐらい

この記事は8年以上前のものです。情報が古い場合があります。

元々コメントは少ない当サイト。でもたまにはコメントを頂戴することもあるので、コメンテーターの利便性を考慮して、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!

関係あるかも知れない記事

前の記事・次の記事

前の記事
<<
次の記事
>>

この記事のトラックバックURL

http://susu.cc/2009/01/wordpresscomments-autourl.html/trackback

3件のコメント

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

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

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

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

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

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

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