wordpress do not redirect after post

Problem seems to be reported here and there, but I can not found what I really need to fix this during the morning:

https://wordpress.org/support/topic/redirect-after-post?replies=2

https://wordpress.org/support/topic/redirect-doesnt-work-1

… nope, nothing. I found this:

http://wordpress.stackexchange.com/questions/76991/wp-redirect-not-working-after-submitting-form and second reply:

 

add_action( 'wp_loaded', 'wpa76991_process_form' );
function wpa76991_process_form(){
    if( isset( $_POST['my_form_widget'] ) ):
        // process form, and then
        wp_redirect( get_permalink( $pid ) );
        exit();
    endif;
}

but it does not work, I ask myself why, and try to print the required url, that was in fact from menu_page_url(), but this is in administration menu, so, after some investigation I found out that the good hook is ‘admin_menu

So:

add_action( 'admin_init', 'myplugin_admin_form_process' );

function myplugin_admin_form_process()
{
  if(!isset($_POST['form_id']) || $_POST['form_id'] != 'myplugin_admin_form') {
    return;
  }
  if($_POST['action'] = '....') {
    process_post();
    wp_redirect(menu_page_url( 'myplugin-admin-main', false ));
    exit();
  }
}

and it worked


Posted

in

,

by

Tags: