Most themes (e.g. TwentyTen) use the
comment_form() function to insert the comment form after posts. There are quite some hooks inside the function but they are hard to localize. The codex documentation isn’t too helpful, neither.
To give you an easy overview the following diagrams visualize the points where the various hooks are anchored. The number of available hooks depend on the discussion settings and the user’s capabilities.
In the most common scenario the user is not logged in, is allowed to comment on the article and the comments are not closed:
There are six hooks available:
You might have noticed that the hooks
comment_form_after seem to be anchored almost at the same point but depending on the user’s role and discussion settings they are not always available so you should take care which hook you are using in your code.
User logged in
If you are logged in you have fewer hooks available since the name, email and URL input fields are not needed. The missing hooks are
- form_comment_after fields
User is not logged and “Users must be registered and logged in to comment” activated
If your blog is configured that only registered users can comment, an unregistered user will see this comment form and additionally the hook
comment_form_must_log_in_after is available. Please notice that in this case the hook
comment_form is left out.
If the comments on the post are closed you have only one hook left (
comment_form_closed) since the form is not displayed at all: