PR(記事内にアフィリエイト広告が含まれています)
スポンサーリンク
Nucleus

コメントのリンクターゲット修正

一般閲覧者の方々には分からない部分ではありますが、Nucleusってログイン時と非ログイン時で違う項目を表示させることが可能でして、ログイン時だけ記事編集などの便利リンクを表示させたり出来るわけです。
最近、コメント欄に書かれたURLが自動リンクされている部分、あれを外部窓を開く( target=”_blank” )ようにしたいなぁとか思いつつ、トラックバック部分は外部窓で開くのかな、と確認のためにクリックしたら隣のDELETEリンクを押してしまってて、削除確認も何もなしに瞬時にトラックバックが消えてて仰天。
あまりにも驚いたので、NP_TrackbackのDELETEリンクを表示する部分を全て削除し、管理画面からでないと消せないようにしてウッカリ削除が今後無くなるようにしました。該当サイトの方、再度トラックバックをしていただいてありがとうございます。大変失礼しました。
その後に、当初の目的であったコメント欄のリンクを修正。
nucleus/libs/COMMENTS.phpの380行目あたり、Aタグにターゲット指定を追加し、コメント欄の名前部分にURLが入力された場合にリンク先を外部窓で開くように修正。

echo '<a href="'.$this->currentComment['userlinkraw'].'">'.$this->currentComment['user'].'</a>';
↓
echo '<a target="_blank" href="'.$this->currentComment['userlinkraw'].'">'.$this->currentComment['user'].'</a>';

nucleus/libs/COMMENT.php*1の127行目あたり、Aタグにターゲット指定を追加し、コメント本文の自動リンクも外部窓で開くように修正。また文字丸めを30文字から60文字に変更。

return $pre . '<a href="'.$linkedUrl.'">'.shorten($displayedUrl,30,'...').'</a>' . $post;
↓
return $pre . '<a target="_blank" href="'.$linkedUrl.'">'.shorten($displayedUrl,60,'...').'</a>' . $post;

余談ですが、トラックバックを当サイトに行っても表向きは反映されて無いように見えることがあるかもしれません。どうしてかと言うと、NP_Cacheという一時キャッシュのプラグインを使っている都合上、トラックバック受信ではページが書き換わらないからです。まぁ二重トラックバックになった場合はこちらで手動削除するのであまり心配されなくても大丈夫です。
なお、記事投稿・記事更新・コメント投稿ではキャッシュが即座に書き換えられるので、反映されてないということは無いです。

  • 注1 : COMMENTの後にSがない違うファイルなので注意。

コメント

タイトルとURLをコピーしました