3ヶ月前に投稿

コメント投稿者のurlのlink-targetを_blankに且つ自サイトには付けない

2019年3月8日

この記事は約 4 分で読めます。

4.5

当ブログの人気記事に
テーマ Luxeritas(ルクセリタス) の “プチ” カスタマイズ
と言う記事があるのですが、そこで
最近のコメント投稿者リンクを別窓で開く方法を
紹介していまして、この方法だと
自サイトまでも別窓で開いてしまい、
気になっていました。

検索しても意外に情報がなくて、
特にディスカッションに関しては
すべて別窓のexampleがほとんどで
苦労しました。

最近のコメント(Luxeritas オリジナル) の場合

こちらはjQueryになるのですが、
子テーマの編集のJavascriptに
以下を記述します。

$(function() {
  $('.author_link').find('a').not('[href*="'+location.hostname+'"]').attr('target', '_blank').attr('rel', 'noopener noreferrer');
});

ディスカッションの場合

こちらはPHPになります。
子テーマの編集からfunctions.phpに
以下を記述します。

// Make comment author link URL open in new window
function comment_author_link_window() {
	global $comment;
	$url    = get_comment_author_url();
	$author = get_comment_author();
	
	if ( empty( $url ) || 'http://' == $url )
		$return = $author;
        else
            if ($url == '***')
                $return = "<a href='$url' rel='external nofollow' class='url'>$author</a>";
	else
		$return = "<a href='$url' rel='external nofollow noopener noreferrer' class='url' target='_blank'>$author</a>";
	return $return;
}
add_filter('get_comment_author_link', 'comment_author_link_window');

***を自分がいつも打ち込むURLを入力してください。
例: if ($url == 'http://www.google.co.jp/')

target=”_blank” の危険性

rel = noopenerのパフォーマンス上の利点

Reference article

貴重なお時間を割き、
最後まで
ご高覧いただきまして
有難うございました
コメント投稿者のurlのlink-targetを_blankに且つ自サイトには付けない