订阅汇聚素材网Feed

WordPress如何重新排序文章ID以及解决文章ID不连续的问题

话说最近真是悲催到了极点,各种不正常的情况屡次发生,页面访问不正常,分类目录消失了,Google PR 从3跌倒0,数据库表无法修复。一气之下,重新建立数据库导入原来的备份,同时也做了大量删减,进一步检查和修复主题,并对文章ID做了重新排序。

如何解决文章ID不连续


WordPress ID是wp系统唯一的识别标号,其中包含了文章post ID,标签tag ID,分类cat ID,上传图片、附件ID以及文章自动保存和修订版本所产生的post ID等等。所以说想要WordPress文章ID连续编号是不可能的。

像是标签tag ID,分类cat ID以及上传附件 ID这些都是必须的,我们能做的就是去除WordPress自动保存和修订所产生的冗余的post ID,使文章ID尽量连续。

将下列代码放置到主题模板函数functions.php闭合中,即可不会再产生修订版本和自动草稿。

//禁用文章保存修订
function disable_autosave() {
    wp_deregister_script('autosave');
}
add_action('wp_print_scripts', 'disable_autosave');
remove_action('pre_post_update', 'wp_save_post_revision');

如何删除以往产生冗余revision(自动草稿和修订版本)

在数据库中执行以下Sql语句或安装WP Cleaner插件

delete from wp_posts where post_type = 'revision';

如何重新排序文章ID


填写好数据库连接信息,将下列代码保存为post-id.php,上传到主机根目录执行。文章ID就会从100001开始编号,此处数字可以随便写,我个人感觉写大一点,文章数字ID地址规格会统一些,长度一样嘛。

<?php
//connect to the database
mysql_connect("localhost","user_name","password");//主机、数据库用户名、数据库密码
mysql_select_db("database_name");//数据库名称

$sql = "select ID from wp_posts order by post_date asc;";
$result = mysql_query($sql) or die($sql);
$original_id = 100001;//重设初始ID,避免和已有ID冲突

while($row = mysql_fetch_array($result))
{
    //echo $row["ID"]."_".$original_id."<br />";

//change the ID for post/comments/category/etc

    $sql = "update wp_posts set id = ".$original_id." where id = ".$row["ID"].";";
    mysql_query($sql);

    $sql = "update wp_term_relationships set object_id = ".$original_id." where object_id = ".$row["ID"].";";
    mysql_query($sql) or die(mysql_error());

    $sql = "update wp_postmeta set post_id = ".$original_id." where post_id = ".$row["ID"].";";
    mysql_query($sql);   

    $sql = "update wp_comments set comment_post_ID = ".$original_id." where comment_post_ID = ".$row["ID"].";";
    mysql_query($sql);

    $original_id++;
    }
?>

最后提醒一下,该功能慎用,毕竟搜索引擎收录的地址都固定了。

17 人Likes
  

文章转载请注明:WordPress如何重新排序文章ID以及解决文章ID不连续的问题-汇聚素材网

本文固定链接:http://www.webhj.com/hj-119.html  +复制链接

WordPress如何重新排序文章ID以及解决文章ID不连续的问题:等您坐沙发呢!

发表评论

*

*

8 + 3

快捷键:Ctrl+Enter
0全站搜索 1 设计 2 素材 3 教材 4 WEB 5 电子书籍