其实,说在WordPress中使用//(缺省协议),范围有点局限了,实际上在哪里都是可以使用这个的。
其实挺多朋友,还不知道为什么用使用这个//(缺省协议),我觉得有以下几种原因:
1、不需要在额外的关心自己的站点是http还是https了,因为使用了//(缺省协议),默认会自动根据你网站的情况来决定是http还是https,举个简单的例子,比如下面的这段代码
<a href="//www.yerenwz.com">野人博客</a>
如果你使用http来访问的话,那么实际上a标签的href为//www.yerenwz.com,而如果你用https来访问的话,那么a标签的href为//www.yerenwz.com,所以如果后续大家有想给网站升级https的话,其实就可以用这个//(缺省协议)来写网址。
2、相对来说,网址少写了一部分,工作量不就少了,其实更多的原因应该是第一点会更多的。
对了,我给大家说下,我在WordPress中使用//(缺省协议)代替http(s)://的场景吧,主要是为了给网站上https,所以需要把之前文章中带有http的替换成https,要不然小绿锁不会全绿,所以一定要做这个步骤,目前的网上的解决方法有两种
一种是直接通过数据库的SQL语句,批量替换文章中的http的为https,另外一种就是使用WordPress的钩子在输出文章内容的时候,进行内容替换,这也是本站目前用的方法(两个方法都可以,个人比较喜欢这种方法罢了),找到目前自己使用的主题目录下function.php
文件添加如下的代码。
/** * 替换文章中的https和http为//(缺省协议) */ function replace_url_http_and_https($content) { preg_match('/\/\/(.*)/', site_url(), $url); //匹配站点的域名 $pattern = "/http:\/\/{$url[1]}|https:\/\/{$url[1]}/"; return preg_replace($pattern, "//{$url[1]}", $content); } add_filter("the_content", "replace_url_http_and_https");