[wp-hackers] Get Term Data Before Deletion
Mike Schinkel
mikeschinkel at newclarity.net
Mon Sep 13 01:19:31 UTC 2010
> I'm using the delete_{$taxonomy} hook so when a term gets deleted I
> can update my theme's options. The problem is that I need the slug. By
> the time delete_{$taxonomy} runs, the term has been deleted from the
> db (taxonomy.php line 1406). This means get_term() can't retrieve the
> term slug.
Yes, it would seem that would be quite the problem. Doesn't seem like delete_{$taxonomy} would be all that useful without at least access to the term as it was before deletion? Anyway...
Try the "delete_term_taxonomy" hook. It get's a term_taxonomy_id and reading the code it seems from that you can get the term_id and look it up before the term is deleted. Unfortunately there doesn't appear to be an API call that will look up a taxonomy via a term_taxonomy_id (unless I missed it?) so you'll have to revert to raw SQL. Try this:
add_action('delete_term_taxonomy','grab_term_slug_on_delete');
function grab_term_slug_on_delete($term_taxonomy_id) {
global $wpdb;
$sql = "SELECT t.slug FROM wp_terms t INNER JOIN wp_term_taxonomy tt ON t.term_id = tt.term_id WHERE term_taxonomy_id=%d";
$term_slug = $wpdb->get_var($wpdb->prepare($sql,$term_taxonomy_id));
// Do something with $term_slug here...
return;
}
Hope this helps.
-Mike
On Sep 12, 2010, at 8:54 PM, Ryan Fitzer wrote:
> I'm trying to find a hook that will give me a term's slug before it is deleted.
>
> I'm using the delete_{$taxonomy} hook so when a term gets deleted I
> can update my theme's options. The problem is that I need the slug. By
> the time delete_{$taxonomy} runs, the term has been deleted from the
> db (taxonomy.php line 1406). This means get_term() can't retrieve the
> term slug.
>
> Anyone know of a way around this?
>
> --
> Ryan Fitzer
> Los Angeles, CA
> http://www.ryanpatrickfitzer.com
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
More information about the wp-hackers
mailing list