Dragon

wordpress解决文章id不连续问题

2020-10-24 03:14 8 抢沙发 小逸博客

众所周知,WordPress 发布的文章、页面会占用 ID,上传的图片/附件也会占用 ID,甚至修改文章/页面也会占用 ID,所以这一切都是导致 WordPress 文章 ID 不连续的罪魁祸首,友好的seowordpress全站url改为.html

情况一:少量页面大量文章的做法

如果你的站点大多数都是文章,页面很少(PS:所占用的 ID 可忽略),并且站点所使用的图片/附件都不是通过 WordPress 后台上传的(PS:通过 FTP 直接上传到后台指定文件夹,或在其他存储空间直接上传,比如七牛),那么建议采用本方法,那就是:禁用 WordPress 的修订版本,并修改自动保存的时间。(PS:据说直接取消自动保存功能好像不太起作用,所以建议直接修改自动保存时间比较好)
 
打开 WordPress 根目录下的 wp-config.php 文件,在 define('WP_DEBUG', false); 之后添加以下代码:


//自动保存10小时一次
define('AUTOSAVE_INTERVAL', 36000);
//禁用修订版本
define('WP_POST_REVISIONS',false);

其中 10 小时可以自行修改,一般编辑一篇文章应该不会用到 10 个小时,比如平时 boke112 都是用 word 写好文章后再粘贴到 WordPress 后台来发布文章,所以我只需要设置 1 个小时保存一次就够了,因为我一般发布一篇文章绝不会超过 1 个小时。
 

情况二:文章页面很多而且后台上传图片附件

NOTE:为了节省数据库空间,建议也禁用修订版本和延长自动保存时间,方法同情况一

 
其实只要不是经常建立新的页面,那么页面所占用的 ID 其实都可以忽略不计,关键还是后台上传图片/附件所占用的 ID,这个倒是比较多。所以情况一的方法就不太实用了。

1、替换旧文章(现在数据库里面的文章)的别名为文章 ID,具体做法如下:

方法1:进入 mysql 命令或者 phpmyadmin 的 SQL,执行如下命令修改即可:

update wp_posts set post_name=ID where post_status='publish' and post_type='post';
NOTE:wp_posts 是 WordPress 的文章数据表,wp_ 是默认的前缀,如果自定义更改过,请根据实际修改即可。

方法2:使用以下 PHP 代码修改:

<?php
/**
* 将所以已发布的文章别名修改成对应ID,让文章以别名完美连续
*
*
* Ps:备份网站数据库后,请放到WordPress根目录执行,成功后请记得删除!
**/
require('./wp-blog-header.php');
global $wpdb;
$wpdb->query("UPDATE $wpdb->posts SET post_name = ID WHERE post_status = 'publish' AND post_type = 'post'");
echo 'Update Success!';
?>

将以上代码保存为 php 文件,比如 uppostname.php,并上传到网站根目录,执行即可,成功后记得删除!
 
所有设置数据库的操作务必记得先备份,避免因失误带来无法挽回的损失。

如遇疑难杂症进入赞助页面欢迎加站长微信好友站长无偿帮你解决,或评论留言

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

Mr-XiaoYi给Mr-XiaoYi打赏
×
予人玫瑰,手有余香
  • 2
  • 5
  • 10
  • 20
  • 50
2
支付

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

2020-10-24

2020-10-24

发表评论

表情 贴图 链接 私密 格式 签到
扫一扫二维码分享