最近,我的wordpress网站出现了一个小问题——点击文章内容中的图片,会跳出404错误页面(如下图),这是怎么回事?为什么没有指向原图的链接?该怎样解决这个问题?
404错误页面
解决方法无非有2种:去掉图片链接或修改图片链接地址。我们都知道,百度等搜索引擎都特别喜欢图片,在我们的文章被收录后,如果文章内容中的图片都带有原图的链接,那么,这些原图也有可能被搜索引擎收录。所以,我决定:还是把wordpress网站文章内容中的图片链接修改成原图的链接。
我们将下面这段代码放到wordpress网站当前主题模板的functions.php文件中,如下图:
//文章内容中的图片 自动 链接 原图链接
function auto_post_link($content) {
global $post;
$content = preg_replace('/<a href=s*('|")(.*?)<s*imgs+[^>]*?srcs*=s*('|")(.*?)\1[^>]*?/?s*></a>/i', "<a target="_blank" href="$4" title="".$post->post_title."" ><img src="$4" /></a>", $content);
return $content;
}
add_filter ('the_content', 'auto_post_link',0);
修改图片链接的代码
这里创建了一个auto_post_link()函数,函数中通过preg_replace()函数把文章内容中的图片链接相关的字符替换成我们想要的字符,这个preg_replace()有3个参数,第一个参数是正则表达式,用于匹配文章内容中的图片链接相关字符;第二个参数是替换后的内容;第三个参数是文章内容变量。参数2中的$4,代表参数1中的第4个小括号的匹配内容。
add_filter ('the_content', 'auto_post_link',0) 这句代码表示:在wordpress网站打开文章页面时,每调用一次文章内容,就会调用一次auto_post_link()函数。
通过上面的操作,wordpress网站的文章内容中的图片链接就都修改成了原图片的链接,我们在点击这些图片时,就会在浏览器中打开原图片,再也不会出现404错误页面的情况了。如有疑问,欢迎在下面点评。记得关注我哦,后面还会有更多的精彩内容。