WordPress修改文章ID不连续的方法

简介: WordPress有个比较讨厌的功能,就是默认情况下发布的文章ID不是连续的,使用ID做为Permalink结构的用户将会看到一个地址越来越混乱的WordPress,之前很多方法都是要修改WordPress代码,导致一升级WordPress,修改就会失效,现在我给一个解决WordPress的ID不连续的完美方法,即使WordPress升级,也不会导致该方法失效。

WordPress有个比较讨厌的功能,就是默认情况下发布的文章ID不是连续的,使用ID做为Permalink结构的用户将会看到一个地址越来越混乱的WordPress,之前很多方法都是要修改WordPress代码,导致一升级WordPress,修改就会失效,现在我给一个解决WordPress的ID不连续的完美方法,即使WordPress升级,也不会导致该方法失效。

找到当前主题目录,在主题目录下到文件functions.php,将下述代码添加到文件里面。

这样如果你只是单纯发文章,不发页面,不添加菜单,不上传媒体的话,基本上此后的文章ID是连续的,而且不改变之前已经发布的文章ID,不影响SEO。

// WordPress连续ID,禁用草稿功能函数开始

function keep_id_continuous(){
global $wpdb;
$lastID = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' OR post_status = 'draft' OR post_status = 'private' OR ( post_status = 'inherit' AND post_type = 'attachment' ) ORDER BY ID DESC LIMIT 1");
$wpdb->query("DELETE FROM $wpdb->posts WHERE ( post_status = 'auto-draft' OR ( post_status = 'inherit' AND post_type = 'revision' ) ) AND ID > $lastID");
$lastID++;
$wpdb->query("ALTER TABLE $wpdb->posts AUTO_INCREMENT = $lastID");
}
// 将函数钩在新建文章、上传媒体和自定义菜单之前。
add_filter( 'load-post-new.php', 'keep_id_continuous' );
add_filter( 'load-media-new.php', 'keep_id_continuous' );
add_filter( 'load-nav-menus.php', 'keep_id_continuous' );
// 禁用自动保存,所以编辑长文章前请注意手动保存。
add_action( 'admin_print_scripts', create_function( '$a', "wp_deregister_script('autosave');" ) );
// 禁用修订版本
remove_action( 'pre_post_update' , 'wp_save_post_revision' );

// WordPress连续ID,禁用草稿功能函数结束

// 使WordPress在原生编辑器(tiny)下发表文章时,不去除空格
add_filter('tiny_mce_before_init', 'preserve_nbsp_chars');
function preserve_nbsp_chars($initArray) {
$initArray['entities'] = '160,nbsp,'.$initArray['entities'];
return $initArray;
}

相关文章
|
12天前
CoreDownload - WordPress文章下载增强插件v1.0.6
CoreDownload 是一款高级WordPress 下载增强插件,支持几乎所有网盘,为WordPress增加任意下载功能,目前免费提供使用。 安装插件后,在设置中全局开启。然后编辑文章,可以在下面找到CoreDownload下载增强功能。
16 0
CoreDownload - WordPress文章下载增强插件v1.0.6
|
2月前
|
SEO
WordPress作品设计素材图片站资讯文章教程uigreat主题
WordPress作品设计素材图片站资讯文章教程uigreat主题
32 4
WordPress作品设计素材图片站资讯文章教程uigreat主题
|
2月前
|
前端开发
WordPress主题底部纯文本文章列表
WordPress主题底部纯文本文章列表
25 0
|
2月前
|
安全 数据库
【WordPress教程】怎么修改WordPress管理员用户账户ID
wordpress 程序后台不支持更换用户名,如果想更改怎么办?别担心,一段代码就可以轻松搞定!
27 0
|
4月前
WordPress原创插件:当日24小时发布文章标题变红
WordPress原创插件:当日24小时发布文章标题变红
96 4
【WordPress建站】1. 代码实现编写文章可以调整字体字号
【WordPress建站】1. 代码实现编写文章可以调整字体字号
121 0
【WordPress建站】1. 代码实现编写文章可以调整字体字号
|
缓存 前端开发 搜索推荐
Sticky Posts Switch插件教程WordPress中为分类添加置顶文章
Sticky Posts Switch插件教程WordPress中为分类添加置顶文章
192 0
Sticky Posts Switch插件教程WordPress中为分类添加置顶文章
|
PHP 数据库
WordPress二开-文章内容部分隐藏
WordPress是设计了模板主题的概念的,模板主题所在目录为:wordpress/wp-content/themes 在该目录下,每一套主题又有一个新的目录,假设我们使用的模板主题名字为siam 那么完整路径应该为wordpress/wp-content/themes/siam 在该目录下搜索文件内容the_content 有调用该函数的就是对应的文章内容(可能有多个,对应多种布局,比如图片列表文章、纯文字文章等等 根据自己主题判断)
95 0
|
存储 数据安全/隐私保护 CDN
去除wordpress功能下面的文章 RSS、评论 RSS、WordPress.org
前面已经写了“利用七牛云存储CDN服务给WordPress静态文件加速”,我推荐使用我爱水煮鱼的 七牛镜像存储 WordPress 插件 ,需要先安装 WPJAM, 其实顺序无所谓先安装第一个也会提示安装另一个。如果安装 WPJAM 过程提示没有标题之类的错误不用管不会影响使用的。
132 0
去除wordpress功能下面的文章 RSS、评论 RSS、WordPress.org
|
前端开发
解决WordPress 文章英文单词溢出/单词断词等问题
解决WordPress 文章英文单词溢出/单词断词等问题
185 0