I need to do check the inserted post for certain keywords and perform some functions depending on the keywords found.

is there a wordpress hook that executes "just before the post is inserted into the database" ? Or will i have to modify wordpress core ?

Also, i will need to prevent the post from being inserted into the database if some keywords are found. is this something that can be done with a hook ? Or will a core modification be needed ?

3 Answers 3


Available actions:

  1. pre_post_update - Runs just before a post or page is updated.
  2. publish_post - Runs when a post is published, or if it is edited and its status is "published".
  3. save_post - Runs whenever a post or page is created or updated, which could be from an import, post/page edit form, xmlrpc, or post by email.
  4. wp_insert_post - Same as save_post, runs immediately afterwards.

More info: Plugin API/Action Reference


add_action('action_name', 'callback_name');

The hook is save_post:

add_action('save_post', 'dosomething'), 10, 2);


the hook is wp_insert_post_data

which as two parameters ($data, $postarr) and its a filter hook that fires before inserting the post into the database so:


as for save_post hook it happens after inserting the post to database.

  • 1
    Thanks for your help. Can i stop the post from being saved in the database using this hook ? How ?
    – YD8877
    Mar 15, 2011 at 3:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.