2011-08-01 124 views

回答

0

喜歡的東西...

<?php 

// you'll need to include /modules/comment/comment.admin.inc 
module_load_include('inc', 'comment', 'comment.admin'); 

// I'm assuming you have access to the cid, the unique 
// identifier for comments stored in the {comments} table 
$comment = _comment_load($cid); 
_comment_delete_thread($comment); 
_comment_update_node_statistics($comment->nid); 

?> 

該解決方案是爲Drupal 6,但可以借用包括註釋模塊文件,並劫持他們在其他版本的功能了。

我不確定擴展核心論壇功能的貢獻模塊(如Advanced Forum)是否提供了一個選項,而無需編寫自定義代碼,但您可能需要查看它。

0

Drupal 7的 使用comment_delete()

<?php 

    //Delete single comment 
    $cid = 3917; //cid from `comment` table 
    comment_delete($cid); 

    //Delete multiple comments 
    $cids = array(137421,137426,137427,137428,137429,137430,137431,137434,137450,137472); 
    foreach ($cids as $cid) { 
     comment_delete($cid);  
    } 
1

在Drupal 7的有comment_delete_multiple()它調用涉及評價缺失鉤,並通過_comment_update_node_statistics()更新節點統計信息。它需要一系列評論ID。

在Drupal的6,沒有同等的功能,但你寫的Drupal 7的功能相當於,考慮到:

  • 的Drupal 6不具備的功能來處理交易
  • 在Drupal的6,刪除註釋時調用掛鉤的名稱不同
  • 的Drupal 6沒有實體領域
  • 的Drupal 6不具有db_delete()comment_load_multiple()
  • 任何等效