很多站长朋友在使用WordPress的时候,发现发布的文章并不连续。当你发布一篇文章ID是1,但是发布第二篇文章ID是3,或者4,甚至可以排到几千,这是为什么呢?
这是因为我们使用了
/%post_id%.html
这种固定连接形式,包括星空站长网,也是使用这种形式的ID,所以可以看到很多文字依次发布,但ID却不是连续的。
WordPress 在设计之初,并没有考虑到图片附件、自动保存、草稿等都会占用ID,致使文章ID不连续。
老版本编辑器的Wordpress可以在发文的时候修改固定连接,这种方法虽然有效,但是很麻烦,不可能每篇都做这样的操作。
禁用修订版
在Wordpress 3.0之后的版本,都会帮你保存修改之前的文章,这个功能在发表文章的时候,使得Wordpress占用了两个ID。修订版是一个ID,实际发布的文章又是一个ID。通过禁用自动保存草稿,来防止多个ID的生成。
方法1在 wp-config.php文件中添加:
define(\'WP_POST_REVISIONS\', false);
方法2在当前主题的functions.php添加
// 禁用修订版本,2015年3月5日更新 add_filter( \'wp_revisions_to_keep\', \'specs_wp_revisions_to_keep\', 10, 2 ); function specs_wp_revisions_to_keep( $num, $post ) { if ( \'post_type\' == $post->post_type ) $num = 0; return $num; }
删除文章修订版
当你禁用了修订版,但数据库中依然还保留这之前创建过的修订版,这些创建过的修订版同样占用这ID。我们可以一键将他删除。
在 phpmyadmin 中执行以下SQL语句(会影响置顶文章,慎用!并做好备份):
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = \'revision\';
执行后即可删除所有的文章修订版。
删除没用的图片和附件
当你打开媒体库,你会发现这些图片,视频音乐等附件,同样占了一个ID,它们与文章都保存在同一个数据库表wp_posts中。如果你特别追求文章的ID一定要完美无缺地连续,请不要在发布文章的时候上传/插入这些媒体,并请在WordPress管理后台 – 媒体库中,删除之前上传的媒体(注意这个操作不只是删除记录,而且会删除你上传的文件),所以不建议删除。
禁用自动保存
自动保存的草稿也会占一个ID,我们需要把自动保存禁掉。
在当前主题的functions.php中添加以下代码:
// 禁用自动保存,所以编辑长文章前请注意手动保存。
add_action( \'admin_print_scripts\', create_function( \'$a\', \"wp_deregister_script(\'autosave\');\" ) );
重新排列顺序
在当前主题的functions.php中加入以下PHP代码:
// WordPress 3.8测试有效
function keep_id_continuous(){
global $wpdb;
// 删掉自动草稿和修订版
$wpdb->query(\"DELETE FROM `$wpdb->posts` WHERE `post_status` = \'auto-draft\' OR `post_type` = \'revision\'\");
// 自增值小于现有最大ID,MySQL会自动设置正确的自增值
$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\' );
单纯发文章,不发页面,不添加菜单,不上传媒体的话,基本上此后的文章ID是连续的,而且不改变之前已经发布的文章ID。
总结
让ID顺序有序排列,其实是一种强迫症心理作祟,为了这种二追求连续而强迫修改。不如弃用 WordPress 改用其他相关程序。
只要文章质量高,其实连续不连续都无所谓。
1. 资源都是经过站长或作者收集测试修改后发布分享。如若转载请在文内以超链形式注明狐狸库文章出处,谢谢合作!
2. 本站除原创内容,其余所有内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性承担任何责任。如有版权内容,请通知我们或作者删除,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,或已将原有信息丢失,所以敬请原作者谅解!
3. 本站用户所发布的一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责,若您对本站所载资源作品版权归属存有异议,请留言附说明联系邮箱,我们将在第一时间予以处理 ,同时向您表示歉意!为尊重作者版权,请购买原版作品,支持您喜欢的作者,谢谢!
4. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客如有发现请立即向站长举报;本站资源文件大多存储在云盘,如发现链接或图片失效,请联系作者或站长及时更新。
请登录后查看评论内容