在最新版的 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. EF selection expression 与 Linq备忘

    一.左连接查询 var query = people.GroupJoin(pets, person => person, pet => pet.Owner, (person, petCol ...

  2. 客户端无法tcp连接上本地虚拟机的问题(最后是linux防火墙问题)

    刚装好裸的centos6.5,很多东西跟以前比都是没有的,所以做起来会遇到很多问题. 今天刚把svn 无法ci的问题解决了,起完服后,发现客户端连不上. 1)端口转发,查看了一下虚拟机的端口转发,发现 ...

  3. Chapter 5 Convert Image Set To LevelDB/LMDB

    Caffe中convert_imageset projrct将图像数据转换成Caffe能读取的数据格式leveldb/lmdb 1.添加命令参数 在main函数中添加命令参数,内容和位置如下: #if ...

  4. 通过AopTestUtils对切面对象进行mock

    概述   当对一个切面类进行测试时,由于Spring对切面对象生成了proxy对象,此时对切面对象使用ReflectionTestUtils赋值,操作的是proxy对象,而不是真实对象,会使得赋值出问 ...

  5. algorithm@ Sieve of Eratosthenes (素数筛选算法) & Related Problem (Return two prime numbers )

    Sieve of Eratosthenes (素数筛选算法) Given a number n, print all primes smaller than or equal to n. It is ...

  6. css font-face自定义字体

    font-face:自定义字体 1.找到一个字体文件 2.放入新建的的font的文件夹内: 3.在样式里面以下内容 注释:aa是字体名 <style> @font-face{     fo ...

  7. bool?

    public class GuestResponse { [Required(ErrorMessage = "Please enter your name")] public st ...

  8. Django中如何使用django-celery完成异步任务1(转)

    原文链接: http://www.weiguda.com/blog/73/ 本篇博文主要介绍在开发环境中的celery使用,请勿用于部署服务器. 许多Django应用需要执行异步任务, 以便不耽误ht ...

  9. MacTerminal快捷键

    [MacTerminal快捷键] 在Mac系统中并没有Home.End等键,所以在使用时并不是特别的顺手,但是有几个键位组合可以使Terminal的操作更加灵活方便. 1.将光标移动到行首:ctrl ...

  10. C++11静态assert

    [C++11静态assert] C++11新的关键字static_assert可以解决模板中的状态检察. 声明采取以下的形式: 这里有一些如何使用static_assert的例子: 当常数表达式值为f ...