现在才发现设置的固定链接有问题

  • A+
所属分类:茶余饭后

在建博初期,我将固定链接的格式设置成了/%post_id%这种形式,点击具体的某篇文章时,对应的地址是类似 isdola.com/123.html 这样的,一直以来没什么问题。只是当我点击分类目录时,才发现遇到了问题。具体的情况是这样的:

我的博客有几个分类目录,其中有一个分类目录叫【影视资源(movies)】。在这个分类下,又设置了【动漫(anime)】、【电影(movie)】、【电视剧(television)】、【专题合集(union)】四个子分类。同时,我使用的主题的设置选项里有一个【不显示分类链接中的"category"】选项,我勾选了这个选项。当我点击上面的【影视资源】这个分类和其下面的四个子分类以其具体的某篇文章时,看到的固定链接地址分别是这样的:

  • 影视资源:https://isdola.com/movies/
  • 动漫:https://isdola.com/anime/
  • 电影:https://isdola.com/movies/movie/
  • 电视剧:https://isdola.com/television/
  • 专题合集:https://isdola.com/union/
  • 具体的文章:https://isdola.com/123.html

我发现【电影】这个子分类的固定链接格式和另外三个子分类的固定链接的格式不一致,在其别名movie前多了一个父分类movies前缀(也可以说是那三个子分类的固定链接格式与【电影】子分类的固定链接格式不一致,少了父分类movies前缀)。

一开始以为是哪里没设置好才出错,可是不论我怎么设置怎么弄都没弄一致。后来猜想是不是主题选项里的那个选项有什么问题,导致链接替换不一致,尝试着看了相关的代码,无奈看不懂,搞不明白,就没有继续再深究代码方面的问题。

后来请教了一下群里的各位大神,大神们也帮忙出谋划策,甚至帮我远程查看,问题依旧没有得到很好的解决。但是大神提出来让我试试插件 no category base wpml,我试着用了一下这个插件,同时取消了主题选项里的那个设置选项,这个问题居然解决了。用了插件后,上面的地址分别变成了:

  • 影视资源:https://isdola.com/movies/
  • 动漫:https://isdola.com/anime/
  • 电影:https://isdola.com/movie/
  • 电视剧:https://isdola.com/television/
  • 专题合集:https://isdola.com/union/
  • 具体的文章:https://isdola.com/123.html

也就是说这个插件在去掉 cagegory 前缀的同时把父分类的前缀 movies 也一并去掉。这样一来问题就已经解决了。但是我心里别扭,一方面是觉得既然主题已经集成了这个功能,那我为什么还要多安装一个插件呢,这样功能就重复了,而且我也不是很喜欢安装太多的插件。另一方面是因为这样的固定链接格式与其他文章类型的固定链接格式不一致。比如,【视频(video)】这个文章类型,我在其下面建了一个叫【视听盛宴(avonline)】的分类,在这个分类下又新建了【纯音乐(absolutemusic)】、【流金岁月(goldentimes)】、【翻唱歌曲(coveredmusic)】、【影视漫金曲(greathit)】四个子分类,他们的固定链接格式分别是:

  • 视听盛宴:https://isdola.com/videos/avonline/
  • 纯音乐:https://isdola.com/videos/absolutemusic/
  • 流金岁月:https://isdola.com/videos/goldentimes/
  • 翻唱歌曲:https://isdola.com/videos/coveredmusic/
  • 影视漫金曲:https://isdola.com/videos/greathit/
  • 视频文章类型下的具体的文章:https://isdola.com/video/192.html
分类目录前缀之所以是[code]videos[/code]而不是[code]video[/code]是因为主题有一个【设置自定义文章类型分类前缀】的功能,我设置【视频】固定链接前缀是[code]video[/code],【视频分类】固定链接前缀是[code]videos[/code]。

可以看到普通的日志文章类型的分类目录固定链接格式与自定义的视频文章类型的分类目录固定链接格式不一致,同样是二级目录,一个有前缀,一个没有前缀。于是我又想让普通的日志文章类型的二级目录也加上前缀。

因为上面的这两个原因使我一直耿耿于怀,而我也不会改插件,于是索性就把这个插件给删了。删了以后链接的问题就又回到了原来最初时的样子。后来,我又回去看了一下这个插件,发现这个插件只有两个 PHP 文件,且其中一个文件只有一句代码,我也不知道有没有用,只是心里感觉没什么用,所以也没当回事,把注意力集中在剩下的另外一个文件里。

我在想要是能把主题选项里的那个功能和插件结合起来该有多好,这样上面的原因就不存在了,而且固定链接的问题也可以得到解决。于是又回头去看了一下主题选项里那个功能涉及的文件,发现刚好也只涉及一个 PHP 文件,虽然这个文件里的代码和插件里的剩下的那个文件的代码不一样,但是我觉得他们实现的功能应该是差不多的,主题制作者应该只是简单的集成了一个可以去掉 category 前缀功能的插件而已,并没有对这个插件作本质上的修改。

于是,我尝试着把插件里剩下的那个文件里的所有代码覆盖到主题选项里那个功能涉及的文件里,同时重新保存了一次固定链接,刷新前台,依次点击各个分类目录及具体的文章进行测试,发现问题居然解决了,他们的格式都变得统一了,都变成下面这样了:

  • 影视资源:https://isdola.com/movies/
  • 动漫:https://isdola.com/movies/anime/
  • 电影:https://isdola.com/movies/movie/
  • 电视剧:https://isdola.com/movies/television/
  • 专题合集:https://isdola.com/movies/union/
  • 内置类型文章页:https://isdola.com/123.html

 

  • 视听盛宴:https://isdola.com/videos/avonline/
  • 纯音乐:https://isdola.com/videos/absolutemusic/
  • 流金岁月:https://isdola.com/videos/goldentimes/
  • 翻唱歌曲:https://isdola.com/videos/coveredmusic/
  • 影视漫金曲:https://isdola.com/videos/greathit/
  • 视频类型文章页:https://isdola.com/video/192.html

于是,问题就这样稀里糊涂的解决了。

 

五、我所遇到的固定链接问题

在建博初期,我将固定链接的格式设置成了/%post_id%这种形式,点击具体的某篇文章时,对应的地址是类似 isdola.com/123.html 这样的,一直以来没什么问题。只是当我点击分类目录时,才发现遇到了问题。具体的情况是这样的:

我的博客有几个分类目录,其中有一个分类目录叫【影视资源(movies)】。在这个分类下,又设置了【动漫(anime)】、【电影(movie)】、【电视剧(television)】、【专题合集(union)】四个子分类。同时,我使用的主题的设置选项里有一个【不显示分类链接中的"category"】选项,我勾选了这个选项。当我点击上面的【影视资源】这个分类和其下面的四个子分类以其具体的某篇文章时,看到的固定链接地址分别是这样的:

  • 影视资源:https://isdola.com/movies/
  • 动漫:https://isdola.com/anime/
  • 电影:https://isdola.com/movies/movie/
  • 电视剧:https://isdola.com/television/
  • 专题合集:https://isdola.com/union/
  • 具体的文章:https://isdola.com/123.html

我发现【电影】这个子分类的固定链接格式和另外三个子分类的固定链接的格式不一致,在其别名movie前多了一个父分类movies前缀(也可以说是那三个子分类的固定链接格式与【电影】子分类的固定链接格式不一致,少了父分类movies前缀)。

一开始以为是哪里没设置好才出错,可是不论我怎么设置怎么弄都没弄一致。后来猜想是不是主题选项里的那个选项有什么问题,导致链接替换不一致,尝试着看了相关的代码,无奈看不懂,不明白,就没有继续再深究代码方面的问题。

后来请教了一下群里的各位大神,大神们也帮忙出谋划策,甚至帮我远程查看,问题依旧没有得到很好的解决。但是大神提出来让我试试插件 no category base wpml,我试着用了一下这个插件,同时取消了主题选项里的那个设置选项,这个问题居然解决了。用了插件后,上面的地址分别变成了:

  • 影视资源:https://isdola.com/movies/
  • 动漫:https://isdola.com/anime/
  • 电影:https://isdola.com/movie/
  • 电视剧:https://isdola.com/television/
  • 专题合集:https://isdola.com/union/
  • 具体的文章:https://isdola.com/123.html

也就是说这个插件在去掉 cagegory 前缀的同时把父分类的前缀 movies 也一并去掉。这样一来问题就已经解决了。但是我心里别扭,一方面是觉得既然主题已经集成了这个功能,那我为什么还要多安装一个插件呢,这样功能就重复了,而且我也不是很喜欢安装太多的插件。另一方面是因为这样的固定链接格式与其他文章类型的固定链接格式不一致。比如,【视频(video)】这个文章类型,我在其下面建了一个叫【视听盛宴(avonline)】的分类,在这个分类下又新建了【纯音乐(absolutemusic)】、【流金岁月(goldentimes)】、【翻唱歌曲(coveredmusic)】、【影视漫金曲(greathit)】四个子分类,他们的固定链接格式分别是:

  • 视听盛宴:https://isdola.com/videos/avonline/
  • 纯音乐:https://isdola.com/videos/absolutemusic/
  • 流金岁月:https://isdola.com/videos/goldentimes/
  • 翻唱歌曲:https://isdola.com/videos/coveredmusic/
  • 影视漫金曲:https://isdola.com/videos/greathit/
  • 视频文章类型下的具体的文章:https://isdola.com/video/192.html
分类目录前缀之所以是[code]videos[/code]而不是[code]video[/code]是因为主题有一个【设置自定义文章类型分类前缀】的功能,我设置【视频】固定链接前缀是[code]video[/code],【视频分类】固定链接前缀是[code]videos[/code]。

可以看到普通的日志文章类型的分类目录固定链接格式与自定义的视频文章类型的分类目录固定链接格式不一致,同样是二级目录,一个有前缀,一个没有前缀。于是我又想让普通的日志文章类型的二级目录也加上前缀。

因为上面的这两个原因使我一直耿耿于怀,而我也不会改插件,于是索性就把这个插件给删了。删了以后链接的问题就又回到了原来最初时的样子。后来,我又回去看了一下这个插件,发现这个插件只有两个 PHP 文件,且其中一个文件只有一句代码,我也不知道有没有用,只是心里感觉没什么用,所以也没当回事,把注意力集中在剩下的另外一个文件里。

我在想要是能把主题选项里的那个功能和插件结合起来该有多好,这样上面的原因就不存在了,而且固定链接的问题也可以得到解决。于是又回头去看了一下主题选项里那个功能涉及的文件,发现刚好也只涉及一个 PHP 文件,虽然这个文件里的代码和插件里的剩下的那个文件的代码不一样,但是我觉得他们实现的功能应该是差不多的,主题制作者应该只是简单的集成了一个可以去掉 category 前缀功能的插件而已,并没有对这个插件作本质上的修改。

于是,我尝试着把插件里剩下的那个文件里的所有代码覆盖到主题选项里那个功能涉及的文件里,同时重新保存了一次固定链接,刷新前台,依次点击各个分类目录及具体的文章进行测试,发现问题居然解决了,他们的格式都变得统一了,都变成下面这样了:

  • 影视资源:https://isdola.com/movies/
  • 动漫:https://isdola.com/movies/anime/
  • 电影:https://isdola.com/movies/movie/
  • 电视剧:https://isdola.com/movies/television/
  • 专题合集:https://isdola.com/movies/union/
  • 内置类型文章页:https://isdola.com/123.html

 

  • 视听盛宴:https://isdola.com/videos/avonline/
  • 纯音乐:https://isdola.com/videos/absolutemusic/
  • 流金岁月:https://isdola.com/videos/goldentimes/
  • 翻唱歌曲:https://isdola.com/videos/coveredmusic/
  • 影视漫金曲:https://isdola.com/videos/greathit/
  • 视频类型文章页:https://isdola.com/video/192.html

于是,问题就这样稀里糊涂的解决了。

 

六、其他

也许有童鞋会问,按你意思来的话,视频文章类型对应的是日志文章类型,视听盛宴对应影视资源,下面的四个子分类也相互对应(都是二级分类),那么视频文章类型的固定链接的前缀应该是avonline而不是videos才对啊,你现在的前缀是videos这样不就不一致了吗。另外,为什么视频文章类型下的具体的文章地址中多了一个video的前缀,而日志文章类型下的具体的文章地址中就没有前缀呢。

关于这两个问题,其实我也不是很明白,可能是主题制作者觉得作为一个普通的(个人)博客/网站来说,博客主要还是用来发布普通的文章(日志)吧,视频的内容应该不会成为博客的主要内容。所以觉得视频的一级分类应该只要一个就可以了,所以固定链接中就没必要出现这个一级分类的别名了,直接用视频这个文章类型的别名代替反而更好些。而在具体的文章地址中添加一个video前缀可以让浏览者更直观的从地址中区分这个地址所对应的文章是一个视频还是一个普通的日志吧。

我自己是这么理解的,其实我也不知道对不对,哎管不了那么多了,脑瓜疼脑瓜疼,哎呀妈呀,脑瓜疼。。。

若文章图片、下载链接、网盘密码等信息出错,请留言反馈,博主将第一时间更新!如果喜欢,请打赏支持本站,谢谢大家!

发表评论

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

目前评论:4   其中:访客  2   博主  2

    • avatar 刘大喵 1

      :razz: 来看看 人气有点低哈

        • avatar isdola Admin

          @刘大喵 是啊,欢迎常来踩踩,加点人气,哈哈

            • avatar 刘大喵 1

              @isdola 嘿嘿 交换友链吗

                • avatar isdola Admin

                  @刘大喵 主要是我还没测试友链这块功能,所以暂时不交换了,后续等启用该功能的时候再交换好了,谢谢你!