WordPress复制文章图片自动添加当前文章链接

分享一下为WordPress文章的图片自动添加当前文章链接的方法,需要的朋友拿去用。

1、图片自动链接到文章,添加标题和ALT属性

直接将下面的代码添加到主题的 functions.php 文件即可:

function auto_post_link($content) {
	global $post;
        $content = preg_replace('/<s*imgs+[^>]*?srcs*=s*('|")(.*?)1[^>]*?/?s*>/i', "<a href="".get_permalink()."" title="".$post->post_title."" ><img src="$2" alt="".$post->post_title."" /></a>", $content);
	return $content;
}
add_filter ('the_content', 'auto_post_link',0);

 

最终的输出结果如下:

<a href="https://www.wpdaxue.com/wordpress-view-history.html" title="WordPress 添加文章浏览历史功能" >
<img src="https://img.wpdaxue.com/2013/03/wpdaxue.com-201303521.png" alt="WordPress 添加文章浏览历史功能" />
</a>

 

2、关键词自动添加链接

还可以再添加一个功能,将文章标签作为关键词,将文章内的关键词自动加上链接,有利于SEO,别人复制的时候,就会留下链接了。在上面的函数里继续添加一段代码即可。

function auto_post_link($content) {
global $post;
        $content = preg_replace('/&lt;s*imgs+[^&gt;]*?srcs*=s*('|")(.*?)1[^&gt;]*?s*&gt;/i', "&lt;a href="".get_permalink()."" title="".$post-&gt;post_title."" &gt;&lt;img src="$2" alt="".$post-&gt;post_title."" /&gt;&lt;/a&gt;", $content);
 
    $posttags = get_the_tags();
if ($posttags) {
foreach($posttags as $tag) {
$link = get_tag_link($tag-&gt;term_id); 
$keyword = $tag-&gt;name;
   $content = preg_replace(''(?!((&lt;.*?)|(&lt;a.*?)))('. $keyword . ')(?!(([^&lt;&gt;]*?)&gt;)|([^&gt;]*?&lt;/a&gt;))'s','&lt;a href="'.$link.'" title="'.$keyword.'"&gt;'.$keyword.'&lt;/a&gt;',$content,2);//最多替换2个重复的词,避免过度SEO
}
}
   return $content;
}
add_filter ('the_content', 'auto_post_link',0);

 

实测报告

1.使用上面的代码后,由于替代了图片的多余属性,将导致图片的对齐方式失效;

2.由于使用图片灯箱效果时,需要将图片链接到原始图片的地址,如果使用该方法将图片链接到文章,那么灯箱效果就没办法使用,请自行取舍。

3、文章的网址URL自动生成超链接

通常情况下,在WordPress后台编辑文章的时候,直接粘贴网址到文章内容中,WordPress 并不能自动将网址生成超链接(可点击),如果我们每次都要通过“插入或编辑链接”这个按钮来插入链接,的确有点麻烦。其实 WordPress 提供了一个名为 make_clickable 的函数,它可以自动将网址转换为可点击的超链接。

使用方法很简单,通过 the_content 钩子挂载 make_clickable  函数即可。具体方式是在主题的 functions.php 中添加下面的代码即可:

/**
 * 让 WordPress 文章的网址URL自动生成超链接
 */
add_filter('the_content', 'make_clickable');

 

注:make_clickable 函数可将 URI、www、ftp 以及 E-mail 地址转换成超链接的形式。更多说明,请查看 make_clickable 文档

Last modification:September 8th, 2018 at 09:00 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment