WordPress文章ID重复利用环保节约方案

写博客经常会删掉以前的一些日志,就浪费了很多ID。

于是提供重复利用文章ID的方法:

注意!写本文章时使用的WP版本为3.2.1

用文本编辑器打开 /wp-includes/post.php 文件,找到 wp_insert_post 函数(3.2.1版直接找到2584行),看到如下代码:

1
2
3
4
5
6
		if ( !empty($import_id) ) {
			$import_id = (int) $import_id;
			if ( ! $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE ID = %d", $import_id) ) ) {
				$data['ID'] = $import_id;
			}
		}

在下面添加一部分,变成:

1
2
3
4
5
6
7
8
9
10
11
12
13
		if ( !empty($import_id) ) {
			$import_id = (int) $import_id;
			if ( ! $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE ID = %d", $import_id) ) ) {
				$data['ID'] = $import_id;
			}
		}
                else
                {
                    $sowicm_pid = 1;
                    while ($wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE ID = %d", $sowicm_pid)))
                        ++$sowicm_pid;
		    $data['ID'] = $sowicm_pid;
                }

看,这篇文章的地址在经过这样修改之后就不是 http://zi-jin.com/archives/5xx 而是 http://zi-jin.com/archives/1 了。
Enjoy it!


Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>