如何删除用户和节点,drupal 7?

时间:2012-08-03 15:22:35

标签: php drupal drupal-7

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

3 个答案:

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