I’m trying to delete all translations when deleting a node using default language?
For that purpose, I am using the hook_node_delete, but I am not able to invoke node_delete() from it. It cause a fatal error and the process can’t terminate. Even the first node I am deleting isn’t deleted preoperly.
function hook_node_delete($node){ $translation_list = translation_node_get_translations($node->tnid); $default_language = language_default()->language; if($translation_list!=""){ foreach($translation_list as $translation_list_item){ if ($translation_list_item->language!=$default_language){ node_delete($translation_list_item->nid); } }; }; }
So I am forced to simply unpublish the translations by doing something like that:
function hook_node_delete($node){ $translation_list = translation_node_get_translations($node->tnid); $default_language = language_default()->language; if($translation_list!=""){ foreach($translation_list as $translation_list_item){ if ($translation_list_item->language!=$default_language){ $node_translated = node_load($translation_list_item->nid); $node_translated->status = 0; node_save($node_translated); } }; }; }
Why can I not invoke node_delete() from hook_node_delete()??