在最新版的 wordpress 系统中,依然存在着文章ID不连续显示的问题,也就是我们还没有上传多少文章,在数据库里的ID号已经很大了,也就是说如果我们的博客使用的是固定链接,那么在前台显示的ID相差会很大,比如第一篇文章是ID=2,那么第二篇可能就是ID=5或者ID=8了,这就是wordpress文章ID不连续显示的问题了。

其实这个也不能单纯的定义成wordpress的bug,毕竟人家的程序是这样设计的,可能程序上设计得过于完美了,但对于国内许多用户来说,可能更想要连续的ID吧,这样看起来更美观一点,而且对于我来说,数据库中也不会显得更凌乱,当然如果你的固定链接中没有使用post ID,那么对你来说文章ID是透明的,也就无关紧要了。即使固定链接中用了 post ID,如果你不是特别的在意,连不连续也是无关紧要的。

造成wordpress文章ID不连续的原因有如下两点,在 WordPress 系统的设计中,都会有一个自动草稿的功能,就是你在编辑文章的时候,每隔一定的时间会自动将文章保存成草稿,这样设计的目的是保证了在误修改的情况下可以还原之前的内容,但这样会占用数据库许多ID号。

对于我们这样的小博客来说,完全没有必要要这样的功能,那么如何去掉自动保存的草稿功能呢,请看我修改的最新版的 wordpress 系统的方法。

一,首先在 wp-config.php文件中添加如下代码,这两段代码我忘记wp-config.php中是不是已经有了,如果有了就改成如下的参数,如果没有加上去就行了,在测试的时候直接 false 禁用无效,所以后来索性将自动保存的时间间隔设置成了 120000000,这样无论你编辑多长时间都不会产生ID了。

/** 禁用修改版。 */
define(‘AUTOSAVE_INTERVAL’, 120000000 ); // 设置自动保存间隔,单位是秒,默认60
define(‘WP_POST_REVISIONS’, false ); // 禁用文章修订功能
二,还要在后台 wp-admin/ 目录下的 post.php 和 post-new.php 文件中删除掉保存成草稿的代码,如果不删除掉,还是会产生ID号的。
post.php 删除以下代码

/* if ( $last = wp_check_post_lock( $post->ID ) ) {
add_action('admin_notices', '_admin_notice_post_locked' );
} else {
$active_post_lock = wp_set_post_lock( $post->ID ); if ( 'attachment' !== $post_type )
wp_enqueue_script('autosave');
} */ //$title = $post_type_object->labels->edit_item;
//$post = get_post($post_id, OBJECT, 'edit'); //if ( post_type_supports($post_type, 'comments') ) {
//wp_enqueue_script('admin-comments');
//enqueue_comment_hotkeys_js();
//} (PS:^_^不错的php学习交流群:276167802,验证:csl,有兴趣的话可以加入进来一起讨论)
post-new.php 注释掉 wp_enqueue_script(‘autosave’); 即可。

总结:至此,已经禁用了文章保存草稿占用数据库ID的问题了,也基本上实现了文章无ID显示的问题了,但这里还有一点要说明的是,除了文章修订版占用大量ID号外,wordpress还有两个方面也会占用数据库的ID号,一个是插件主题,插件主题在设置页面导航时可能会占用几个数据库的ID号,但这是很少量的ID号了,通常不去更换导航,基本上就可以忽略不计了,另一个重点要说的是我们上传的附件也会大量占用ID号,比如上传一个图片,上传一个下载文件等,都会占用一个数据库的ID号,这个是没办法更改的,如果你对自己的页面特洁僻的话,就可以通过 FTP 来上传了,当然如果你能找到解决的方法,是最好不过的了。

以上是本文关于完美解决wordpress文章ID不连续显示的问题的详细叙述,希望本文对广大php开发者有所帮助,感谢阅读本文。

wordpress文章ID不连续显示问题的完美解决的更多相关文章

  1. 完美解决,浏览器下拉显示网址问题 | 完美解决,使用原生 scroll 写下拉刷新

    在 web 开发过程中我们经常遇到,不想让用户下拉看到我的地址,也有时候在 div 中没有惯性滚动,就此也出了 iScroll 这种关于滚动条的框架,但是就为了一个体验去使用一个框架好像又不值得,今天 ...

  2. 【费元星】crt 无法上传文件,总是显示盾牌表示-完美解决

    将如下内容保存到文件中,已.bat 结尾 taskkill /f /im explorer.exeattrib -s -r -h "%userprofile%\AppData\Local\i ...

  3. python matplotlib在mac os x 中如何显示中文,完美解决

    一. 下载相关的中文字体 simhei 文件: 下载地址 二.通过以下代码查找matplotlib的数据存放位置: import matplotlib print(matplotlib.matplot ...

  4. HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法

    这篇文章主要介绍了HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法,需要的朋友可以参考下 HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面 ...

  5. wordpress文章链接怎么把默认的别名改成id形式和伪静态设置

    别名默认是文章标题,打不开,改成英文形式可以打开,但这样很不方便,还有可能重复.怎么改成按文章id自动生成相应链接呢 找到设置---固定链接----把默认的日期和名称型改成自定义结构把末尾的%post ...

  6. 关于wordpress文章分类显示404错误的解决办法。

    闲来无事,在虚拟主机上装了一个wordpress尝试自己搭一个博客玩一下,发现文章分类一直显示404错误,网上查了好久,终于找到解决方法,其实很简单,只要将分类的别名改成英文的就解决了,分类中不能包含 ...

  7. WordPress文章阅读量统计和显示(非插件, 刷新页面不累加)

    本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发.Nodejs.Python.Linux.IT资讯等板块. WordPress文章阅读 ...

  8. 有朋友问了数据库ID不连续,怎么获取上一篇和下一篇的文章?(不是所有情况都适用)

    呃 (⊙o⊙)…,逆天好久没写SQL了,EF用的时间长了,SQL都不怎么熟悉了......[SQL水平比较菜,大牛勿喷] 方法很多种,说个最常见的处理 因为id是自增长的,所以一般情况下下一篇文章的I ...

  9. WordPress腾讯云存储搭建教程,完美解决

    写在前面的话: 为什么会有今天的话题:WordPress+腾讯云存储? 因为博主不想使用七牛云,也不想使用又拍云,所以才有了今天的话题. 在使用腾讯云存储的过程中是很不顺利的,万幸的是现在终于完美融合 ...

随机推荐

  1. JavaScript 教程学习进度备忘(二)

    备忘:之前,只将“JS 教程”学习完毕,这篇记录:“JS HTML DOM ”.“JS 对象”.“JS Window”.“JS 库” 书签:跳过:另外跳过的内容有待跟进 _______________ ...

  2. 初识HTTP 1.1与HTTP 1.0

    HTTP 1.1与HTTP 1.0的比较 一个WEB站点每天可能要接收到上百万的用户请求,为了提高系统的效率,HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个 ...

  3. Java多线程学习总结--线程同步(2)

    线程同步是为了让多个线程在共享数据时,保持数据的一致性.举个例子,有两个人同时取钱,假设用户账户余额是1000,第一个用户取钱800,在第一个用户取钱的同时,第二个用户取钱600.银行规定,用户不允许 ...

  4. HDU5875:Function

    题目链接: Function 分析: icpccamp里的方法不会,我用了一个nex[]数组存储当前点ai需要取模的下一个点aj的编号j,如果aj>ai,就不用遍历. 时间为920ms 代码: ...

  5. leetcode oj s_06

    public class Solution { public static void main(String[] args) { String s = "PAYPALISHIRING&quo ...

  6. dom 输入文字模拟滚动

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  7. Powershell导入订阅号(以Azure中国版为例)

    1. 首先,您需要安装Windows Azure Powershell.下载的链接为:http://go.microsoft.com/?linkid=9811175&clcid=0x409 2 ...

  8. C++11lambda表达式

    [C++11lambda表达式] mutable 修饰符,用于修改[]中以值传递的变量,无mutable修饰符的话则不行. 使用示例: #include <vector> #include ...

  9. linux运维工程师

    本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具.我就大概列出这几方面,这样入门就基本没问题了 ...

  10. ucenter同步登陆机制

    有个ucenter可以用来实现多个站点同时登陆同时退出,用户同步的功能. 首先站点都要引入一个uc_client这样一个客户端,以登陆为例,登陆时首先会调用一个外部函数,uc_client/clien ...