worepress重新排列不连续的文章ID

  • 1,105

可在当前主题的functions.php中加入以下PHP代码,这样如果你只是单纯发文章,不发页面,不添加菜单,不上传媒体的话,基本上此后的文章ID是连续的,而且不改变之前已经发布的文章ID,不影响SEO

    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");
        $wpdb->query("ALTER TABLE $wpdb->posts AUTO_INCREMENT = 1");
    }
    // 将函数钩在新建文章、上传媒体和自定义菜单之前。
    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' );
weinxin
我的微信
这是我的微信扫一扫
php最后更新:2016-5-28
开拓者博主
  • 本文由 发表于 2016年5月26日13:17:06
  • 转载请务必保留本文链接:https://www.150643.com/2.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: