0

如果添加了用户,我创建了一个模块,该模块会添加一个新节点(带有用户信息)。现在我想实现一个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);
}
4

3 回答 3

3

试试这个

function node_delete($nid) {
 node_delete_multiple(array($nid));
}
于 2012-08-03T15:27:55.923 回答
2

对于用户,您可以使用

user_delete$uid作为参数传递的地方

至于节点有node_delete你传递你传递$nid作为参数。

还根据用户ID删除节点有这个功能node_user_delete

于 2012-08-03T15:46:40.857 回答
0

在我用 stop_spam_reg 模块解决用户注册垃圾邮件问题之前,我经常像这样清除垃圾邮件帐户:

/开发/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,否则你会遇到比垃圾邮件用户更大的问题 :)

于 2015-12-14T11:46:30.083 回答