更改wordpress数据库的表前缀

2012-08-24 423 0

1.以下代码保存为文件rename_suffix.php,注意要保存为utf-8编码格式
2.修改$oldtablepre   和    $newtablepre  单引号中的值为你自己的
3.再把该文件上传到wp根目录(即与wp-config.php在同一个目录),
4.访问http://你的wp博客地址/rename_suffix.php即可.
5.再修改wp-config.php中的$table_prefix 为新的值.

如:$table_prefix  = 'mywp_';

  1. <?php
  2. header("Content-type: text/html; charset=utf-8");
  3. /**
  4. * 修改wordpress表名前缀的工具.
  5. *filename:rename_suffix.php
  6. * @By 荒野无灯 http://blog.thinkstd.cn
  7. */
  8. /////////下面两行您需要修改///////////
  9. $oldtablepre='wp_'; //旧的表前缀
  10. $newtablepre='mywp_'; //您要修改成新的表前缀
  11. /////////上面两行您需要修改///////////
  12. ##########@以下请勿修改@###########################!DONT CHANGE BELOW!##################################################
  13. require_once( dirname(__FILE__) . '/wp-load.php' );
  14. $tables=array("{$oldtablepre}comments","{$oldtablepre}links","{$oldtablepre}options","{$oldtablepre}postmeta","{$oldtablepre}posts","{$oldtablepre}terms","{$oldtablepre}term_relationships","{$oldtablepre}term_taxonomy","{$oldtablepre}usermeta","{$oldtablepre}users");
  15. echo '<div style="font-size:1.2em;"><span style="color:gray;font-weight:bold;">下面更改表名:</span><hr></hr>';
  16. foreach ($tables as $key => $value)
  17. {
  18. $oldtable=$value;
  19. $newtable=str_replace($oldtablepre,$newtablepre,$value);
  20. $wpdb->query("ALTER TABLE `$oldtable` RENAME TO `$newtable`");
  21. echo '成功更改表名'.$oldtable.'为:<span style="color:green;">'.$newtable.'</span><br></br>';
  22. }
  23. echo '<span style="color:gray;font-weight:bold;">下面更改'.$newtablepre.'options表中的键值:</span><hr></hr>';
  24. $wpdb->query("update `{$newtablepre}options` set `option_name`=replace(option_name,'{$oldtablepre}user_roles','{$newtablepre}user_roles')");
  25. echo '成功更改'.$oldtablepre.'user_roles为:<span style="color:green;">'.$newtablepre.'user_roles</span><br></br>';
  26. $meta_key=array("{$oldtablepre}capabilities","{$oldtablepre}user_level","{$oldtablepre}autosave_draft_ids","{$oldtablepre}usersettings","{$oldtablepre}usersettingstime");
  27. echo '<span style="color:gray;font-weight:bold;">下面更改'.$newtablepre.'usermeta表中的键值:</span><hr></hr>';
  28. foreach ($meta_key as $key => $value)
  29. {
  30. $oldoption=$value;
  31. $newoption=str_replace($oldtablepre,$newtablepre,$value);
  32. $rs=$wpdb->query("update `{$newtablepre}usermeta` set `meta_key` =replace(meta_key,'$oldoption','$newoption')");
  33. echo '成功更改'.$oldoption.'为:<span style="color:green;">'.$newoption.'</span><br></br>';
  34. }
  35. echo '</div>';
  36. ?>

相关文章

WordPress问题:Warning: Cannot modify header information – headers already sent by
WordPress主题
一款很清新的主题《自然志》
WordPress WP-T-WAP 使用问题
Win2003/IIS6 VPS实现WordPress伪静态方法
WordPress页面判断函数既简单应用widget-logic

发布评论