将wordpress文章内的网址自动添加url

  • A+
所属分类:WordPress教程

一般来说,我们输入带有http的链接,如果不手动进行添加的话,那么这个链接是不可点击的,因此,如果我们需要引用一个链接必须手动添加好。

将wordpress文章内的网址自动添加url

这样一来就比较麻烦了,如果能够自动识别链接自动添加的话,对于我们编辑文章来说就非常方便了。

实际上,wordpress自己就提供了这个功能,只不过大部分的主题都没有开启而已,你可以输入以下代码开启这个功能,那么只要在文章内的链接都会自动识别并被加上url,不需要我们手动点击了。

将如下代码加入进入主题的function.php(WEB主题公园用户加入到function/function_z.php或者widget.php均可):

  1. add_filter('the_content', 'make_clickable');

这样我们文章内的链接都会自动的添加链接可点击了,如果你的文章有外链,而不想要这些外链输出你的网站权重,那么可以加入如下代码,这样外链都会加入nofollow,不输出权重了:

  1. add_filter( 'the_content', 'themepark_nofollow');
  2. function themepark_nofollow( $content ) {
  3. $regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>";
  4. if(preg_match_all("/$regexp/siU"$content$matches, PREG_SET_ORDER)) {
  5. if( !emptyempty($matches) ) {
  6. $srcUrl = get_option('siteurl');
  7. for ($i=0; $i < count($matches); $i++)
  8. {
  9. $tag = $matches[$i][0];
  10. $tag2 = $matches[$i][0];
  11. $url = $matches[$i][0];
  12. $noFollow = '';
  13. $pattern = '/target\s*=\s*"\s*_blank\s*"/';
  14. preg_match($pattern$tag2$match, PREG_OFFSET_CAPTURE);
  15. ifcount($match) < 1 )
  16. $noFollow .= ' target="_blank" ';
  17. $pattern = '/rel\s*=\s*"\s*[n|d]ofollow\s*"/';
  18. preg_match($pattern$tag2$match, PREG_OFFSET_CAPTURE);
  19. ifcount($match) < 1 )
  20. $noFollow .= ' rel="nofollow" ';
  21. $pos = strpos($url,$srcUrl);
  22. if ($pos === false) {
  23. $tag = rtrim ($tag,'>');
  24. $tag .= $noFollow.'>';
  25. $content = str_replace($tag2,$tag,$content);
  26. }
  27. }
  28. }
  29. }
  30. $content = str_replace(']]>', ']]>', $content);
  31. return $content;
  32. }

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: