完美解决wordpress固定链接post_id不连续的问题,无插件和版本限制,安全可靠。

 

从postname换回post_id以后,我开始对固定链接中的id不连续感兴趣。追求完美一直是我最痛苦的事情。我想不少童鞋也一直纠结自己的id号不连续,不美观,以至于对生活,情感,家庭,工作等各个方面造成了影响,好吧,这次我就代表奥特曼来帮助你们。

 

影响id生成有几个方面。文章的自动保存,修订版本,附件。那我们就来逐一攻破,

 切记,在修改数据库文件前请务必做数据库备份,以防万一。

 

1.使用插件WP Cleaner删除wordpress自动保存,修订版本等生成的页面文章附件,插件请自行百度搜索下载
2763011

 

使用修改插件Super Switch来关闭自动保存和修订版等功能,请自行百度下载,当然,如果你认为插件不好,影响速度,可以修改代码来关闭,自行百度,此类文章很多。

 

2.当删除了自动保存和修订版本的文章,附件或者页面后,这个id就空闲下来了,正式发布的文章,附件,页面等还是以当时的id存在。那接下来需要解决的就是空闲的那些id号。当你访问空闲的id链接的时候,页面会提示你404,或者类似于“抱歉,您打开的页面未能找到。”之类的话。在我们发布新的文章的时候,wordpress会继续延续新id号,并不是填充到空缺的id。在这里,我看了网上的一些方法,有人是通过自己写的脚本,让id重新排序,目的更为明确,但是致命的缺点就是大量404,因为所有固定链接的id都变了。那样就得不偿失。我的方法也是修改数据库,但是是安全的,也是较为繁琐的,繁琐就是你需要一个一个的去增加id,当然步骤是简单的。

 

3.在备份数据库后进入你主机的数据库,也就是phpmyadmin,点击表wp_posts,这个表就是所有的文章列表。我们可以看见所有文章的id,文章名,固定链接,发表时间,别名信息等等,点击页面表上方的id,整个表就会按照id的顺序进行排列,我们就可以看见,哪些id号是空缺的,只是看看,不操作,点击wp_posts表里面的插入,进入新的页面后,在id空值项填上空缺的id数字。post_title空值中写上文章的标题,guid空值里写上文章的固定链接,如http://www.junstory.com/和上面填写的相同id号.html,紧接着在左边就能看见一个不太显眼的“执行”按钮,执行,完毕后,就可以关闭数据库了,做了这些,其实就是为了在数据库中占个位置。所以在填写上面的项目时,我们可以在成功生成表的前提下,尽量少些,因为我们并不真正懂的数据库,所以安全起见还是少写,等表创建成功后,我们在wordpress里面再慢慢改。

对于上面在数据库新建表的方法,我找到了,更为简单的方法,在数据库中SQL下,执行SQL语言,

 

INSERT INTO `xxxxx`.`wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES ('74', '0', '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', 'zy', '', 'publish', 'open', 'open', '', '', '', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', '0', 'http://www.junstory.com/74.html', '0', 'post', '', '0');

上面这段sql语言中的红色部分需要你修改,xxxxx是你的wordpress数据库名,74就是修改为你空缺的ID号,zy就是临时占用的文章名。这样就不需要你新建表然后再一个一个的输入了。

4.进入wordpress控制台,文章列表,找到刚才修改的文章,默认第一个,然后,修改文章,想怎么写怎么写。

 

总结:文章的附件,比如上传的图像,音频,视频等都是占用一个id号的,如果你不想给它们id号,那请用外链吧!或者通过FTP上传。

 

通过上面的方法,当我们进入后台重新编写文章的时候,我们发现默认的模版是文章模版,也就是说我们只能写文章,那如果我想用空缺的ID来写页面怎么办?在第3个步骤中,在数据库中插入新表时,post_type字段默认为post,也就是文章模式,把post改为page,就可以了!

个人建议不要一次把所有的空缺ID号都创建文章,因为创建以后,这就是一篇文章,虽然在博客中不显示,但是如果你直接输入链接,或者使用sitemap以后,会显示出来,那如果搜索引擎抓取了你这个文章,后期你再修改文章名和内容,可能会引起搜索引擎的不友好,所以我的做法是控制在5,6篇左右或者你一两天的文章数量较为合适,这样既可以减少繁琐的操作,也可以把对搜索引擎的不友好降到最低!

 

好了,这就是我分享的解决wordpress文章id不连续的方法。

 

One thought on “完美解决wordpress固定链接post_id不连续的问题,无插件和版本限制,安全可靠。

发表评论