不,在Wordpress代码库和调用(如wp_insert_user
, 因为如上所述,用户ID是由数据库自动设置的,因为wp\\U users中的ID字段是Wordpress中的自动增量字段。
因此,要想做你想做的事,你有两个选择:
1。使用手动SQL语句进行随动更新,以更改IDwp_insert_user
, 并在运行时更新用户ID。例如,在伪代码中,如下所示:
从CSV获取一行,插入Wordpress,例如。wp_insert_user()
获取新用户的ID运行SQL查询以手动更改wp\\U users表**上的ID,并确保在wp\\U usermeta、wp\\U options等wp可能已插入某些行的其他任何位置更新该ID为此,您可能应该将此表上的自动增量值设置为一个合理的值,即
larger than 您将要插入的任何ID。这样可以避免ID冲突。
2。直接插入wp\\U用户
不能使用SQL将数据直接插入wp\\U用户
except 你必须很好地理解所有字段的含义,这超出了我在这里所能回答的范围,因此这很棘手,如果你这样做,你需要非常小心。E、 g.您可以这样做:
insert into wp_users (ID, user_login, user_pass, user_nicename, user_email, user_url, user_registered, user_activation_
key, user_status, display_name)
values (12345, \'foo\', \'bar\', \'nicename\', \'[email protected]\', \'http://url.com\', \'00-00-00\', \'key\', 0, \'display_name\');
BUT, this is dangerous and complicated 因为您必须根据Wordpress对这些字段的内部使用情况自己找出这些字段的正确值,特别是:
3。改为更改内容的ID
改为更改内容中的用户ID。实现您想要的可能更好的方法是:
从CSV中读取一行,插入用户,例如。wp_insert_user
从CSV中获取新的WP ID(例如,在新的数据库表中)列表中记录WP用户ID和旧ID的查找表。现在,当您将此用户的任何内容插入Wordpress时,您可以使用此查找表将用户ID字段更改为该用户的正确新Wordpress ID。这种选择更好,即使您已经插入了所有内容,因为要弄清楚Wordpress如何处理新用户非常复杂。
在wp\\u users表中设置下一个自动用户ID/自动增量值:
无论您在做什么,您可能需要考虑更改wp\\u用户上的ID自动增量字段,以避免ID冲突。您可以通过以下方式实现:ALTER TABLE wp_users AUTO_INCREMENT = 1000000;