谁想要一个虚拟的热巧克力饼干?
我正在寻找一个Wordpress php功能来打开新标签中的所有出站链接。
我找到了几个与下面类似的功能解决方案,但它们仅适用于帖子/页面,而不适用于硬编码到主题中的项目(如社交媒体按钮):
/* OPEN ALL OUTBOUND LINKS IN NEW TAB */
function autoblank($text) {
$return = str_replace('href=', 'target="_blank" href=', $text);
$return = str_replace('target="_blank"
href="http://csihealth.lenadev.com',
'href="http://csihealth.lenadev.com', $return);
$return = str_replace('target="_blank" href="#', 'href="#', $return);
$return = str_replace(' target = "_blank">', '>', $return);
return $return;
}
add_filter('the_content', 'autoblank');
add_filter('comment_text', 'autoblank');
有没有办法改变它,所以它适用于所有出站链接?不只是帖子/页面?
答案 0 :(得分:3)
你可以用jQuery做到这一点:
$(function() {
$( 'a[href^="//"],a[href^="http"]' )
.not( '[href*="' + window.location.hostname + '"]' )
.attr('target', '_blank');
});
这将找到任何不是相对链接的链接(因此,任何可能是出站的链接),然后删除那些实际指向您自己的站点的链接,并将目标设置为空白以留下那些。