怸歪小站

  • 网站首页
  • 所有文章
  • 工具汇总
    • 转个义
  • 记录点滴
  • 博友新章
  • 关于本站
    • 留个言
  • 文章归档
  • 榜上有名
  • 友情链接

本站已苦苦支撑

X 天 X 时 X 分 X 秒

喜欢这款主题

抢先体验 | 作者主页

【分享】WordPress完美解决文章ID不连续的方法【转】

  • 怸歪
  • 2022-03-02
  • 0

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;
}

原文链接:https://www.williamlong.info/archives/4382.html

转自月光博客

声明:怸歪小站 | 本文采用署名-非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
文章名称:【分享】WordPress完美解决文章ID不连续的方法【转】
文章链接:https://cycy.fun/2022/03/wordpress-id/
本站文章若无特别说明,皆为原创,转载请注明来源:怸歪小站,如果您喜欢可以订阅本站RSS feed
转载声明

  本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担。本站为个人博客非盈利性站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途,网站会员捐赠是您喜欢本站而产生的赞助支持行为,仅为维持服务器的开支与维护,全凭自愿无任何强求。
免责声明
© 2025 怸歪小站
Theme by Wing

辽ICP备2023008417号-1

  • {{ item.name }}
  • {{ item.name }}