Do not call "id()" without an argument

This is a followup to #8. I didn't realise that id() was sometimes called without any arguments.
For the main file, the fix was easy, I just had to replace "->id()" with "->id($term_id)".
For the WordPress version a callback is created for each term. To make this work I replaced the callbacks by anonymous functions and "injected" the $term_id with "use".