<p>在看文章之前请确定你已明确标题意思:是评论内容里的超链接,而非评论者的网站链接。

自上次解决了《两个遗留问题》之一的《win主机下代码配置wordpress的SMTP邮件发送》后,本问题迟迟得不到解决(不用编辑器、不用a标签),最后不了了之,索性屏蔽了评论内容里的链接的超链转换。而就在刚才,这个问题终于得到解决。

找到 wp-includesformatting.php

搜索 function _make_url_clickable_cb

会看到以下代码:
</p>
<p>
</p>


  1. function _make_url_clickable_cb($matches) {   

  2.     $url&nbsp;=&nbsp;$matches[2];   

  3.   

  4.     if ( ')' == $matches[3]&nbsp;&amp;&amp;&nbsp;strpos(&nbsp;$url, '(' ) ) {   

  5.         // If the trailing character is a closing parethesis, and the URL has an opening parenthesis in it, add the closing parenthesis to the URL.   

  6.         // Then we can let the parenthesis balancer do its thing below.   

  7.         $url&nbsp;.=&nbsp;$matches[3];   

  8.         $suffix = '';   

  9.     } else {   

  10.         $suffix&nbsp;=&nbsp;$matches[3];   

  11.     }   

  12.   

  13.     // Include parentheses in the URL only if paired   

  14.     while ( substr_count( $url,&nbsp;'('&nbsp;)&nbsp;&lt;&nbsp;substr_count(&nbsp;$url, ')' ) ) {   

  15.         $suffix&nbsp;=&nbsp;strrchr(&nbsp;$url, ')' ) . $suffix;   

  16.         $url&nbsp;=&nbsp;substr(&nbsp;$url, 0, strrpos( $url, ')' ) );   

  17.     }   

  18.   

  19.     $url&nbsp;=&nbsp;esc_url($url);   

  20.     if ( emptyempty($url) )   

  21.         return $matches[0];   

  22.   

  23.     return $matches[1]&nbsp;.&nbsp;&quot;&lt;a&nbsp;href=\&quot;$url&quot; rel=&quot;nofollow&quot;>$url&lt;/a&gt;&nbsp;&quot;&nbsp;.&nbsp;$suffix;   

  24. }   




 



然后修改其中:


<p>
</p>


  1. return $matches[1]&nbsp;.&nbsp;&quot;&lt;a&nbsp;href=\&quot;$url&quot; rel=&quot;nofollow&quot;>$url&lt;/a&gt;&nbsp;&quot;&nbsp;.&nbsp;$suffix;  




 



修改为:


<p>
</p>


  1. return $matches[1]&nbsp;.&nbsp;&quot;&lt;a&nbsp;href=\&quot;$url&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;>$url&lt;/a&gt;&nbsp;&quot;&nbsp;.&nbsp;$suffix;  




这样,评论内容中的超链接就能在新窗口打开了。

最后修改:2019 年 06 月 06 日 08 : 22
如果觉得我的文章对你有用,请随意赞赏