入站链接与出站链接:
我想澄清这些概念会有所帮助:
Inbound links = 从其他网站到您自己网站的链接。
Outbound links = 从您的网站到其他网站的链接。
一external link 将是指向除链接所在域以外的任何域的任何链接。
从你的评论来看,我猜你想要实现的是修改所有的出站链接。
正如@MrWhite所言,you will not be able to change your outbound links by modifying your .htaccess file (不过,如果您必须修改入站链接,这会很有帮助)。
现在,有几个解决方案可以为您提供:
在浏览器上修改链接(使用JavaScript)
这应该可以(只要在用户的浏览器中启用了JavaScript):
document.addEventListener( "DOMContentLoaded", modify_outbound_links);
function modify_outbound_links(){
anchors = document.getElementsByTagName(\'a\');
for (let i = 0; i < anchors.length; i++) {
let p = anchors[i].href;
if (p.indexOf(\'yourdomain.com\') === -1) {
anchors[i].href = p + (p.indexOf(\'?\') != -1 ? "&" : "?") + \'ref=myref\';
}
}
}
向WordPress添加一些JavaScript的推荐(也是最干净的)选项是使用
wp_enqueue_script. 如果您需要一个更简单的选项,只需将此代码段封装在
<script> ... </script>
把它放在你的页脚里。php。
在将链接提供给用户之前修改链接(使用WP过滤器)
您可以使用
WordPress filters (在特定事件发生时调用的函数)。
在您的情况下,您可以使用\'the_content\' 过滤器,可用于在从数据库检索帖子后,以及在将其打印到屏幕之前,修改帖子的内容。
您需要将其添加到主题的函数中。php文件:
add_filter( \'the_content\', \'myprefix_modify_outbound_links\' );
function myprefix_modify_outbound_links( $content ) {
/* here you can search for all external links in $content and modify them as you wish */
return $content;
}
注意,这将过滤WordPress帖子中的所有链接。您可能希望搜索主题的代码,以防有其他外部链接。