Call to undefined function wp_verify_nonce() when using do_action() on save_post
-
Hello everyone!
I followed this great tutorial by Justin Tadlock to add some custom metaboxes to a custom post type. It worked great! I’m trying to take things a step further and pass some additional arguments to the function that is doing the updating. But I’m getting this error when saving the post.
Fatal error: Call to undefined function wp_verify_nonce()
From the tutorial I’m trying to pass additional arguments to the function smashing_save_post_class_meta().
Here is an example of what I have in my code.
function my_save_function($post_id, $post, $my_custom_variable) { // verify nonce if ( !isset( $_POST['my_nonce'] ) || !wp_verify_nonce( $_POST['my_nonce'], basename( __FILE__ ) ) ) return $post_id; ... } add_action('save_post', 'my_save_function', 10, 3); do_action('save_post', $post_id, $post, $my_custom_variable);
The third argument $my_custom_variable gets passed okay. If I comment out the line with wp_verify_nonce(), everything works as expected and I can see my $my_custom_variable if I print_r().
It seems that by using the do_action() it changes the order of execution somehow so that my save function is executed before the WordPress functions are fully loaded.
I’ve tried changing the 10 on my add_action() to change the priority and that didn’t do anything.
How do I make sure WP is fully loaded before my save function runs? I think the answer is to use init or wp_loaded() but I’m not sure how to use these. The codex for wp_loaded is empty.
Can anyone help point me in the right direction?
Many thanks,
-Tim
- The topic ‘Call to undefined function wp_verify_nonce() when using do_action() on save_post’ is closed to new replies.