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

2009年01月14日 21:27 正午の月齢:17.6  月名:居待月  潮汐:中潮 月齢:17.6[居待月] 潮汐:中潮 | In WordPress | 3 Comments(旧暦2008年12月19日・ 赤口)

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

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

3個のコメント »

この投稿へのコメントの RSS フィード。 トラックバックURI : http://susu.cc/2009/01/wordpresscomments-autourl.html/trackback

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

    コメント by — 2009年01月14日 #

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

    コメント by — 2009年02月14日 #

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

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

コメントする


powered by WordPress. designed by susu. Entries and comments feeds.