如果添加了用户,我创建了一个添加新节点(带有用户信息)的模块。现在我想实现一个 user_delete 挂钩,删除用户时删除该节点。我不知道如何实现这个。
此代码为新用户添加新节点:
function user_profile_user_insert(&$edit, $account, $category) {
$node = new stdClass();
$node->type = 'members';
node_object_prepare($node);
//dvm($account);
$node->title = $account->name;
$user_info = user_load($account->uid);
$node->field_user["und"][0]["uid"] = $account->uid;
$path = $account->name;
$node->path = array('alias' => $path);
node_save($node);
}
答案 0 :(得分:3)
试试这个
function node_delete($nid) {
node_delete_multiple(array($nid));
}
答案 1 :(得分:2)
对于用户,您可以使用
user_delete您将$uid
作为参数
对于您传递node_delete的节点,您将$nid
作为参数传递。
还会根据用户ID删除节点,这个函数有node_user_delete
答案 2 :(得分:0)
在我用stop_spam_reg模块解决了用户注册垃圾邮件问题之前,我经常清除这样的垃圾邮件帐户:
/ devel的/ PHP的
$query = db_select('users', 'u') ->fields('u', array('uid'));
$result = $query->execute();
foreach ($result as $record) {
if( $record->uid>1){ //replace 1 with the latest valid uid you want to keep
user_delete($record->uid);
}
}
小心离开用户1,否则你会遇到比垃圾邮件用户更大的问题:)