I tried the wordpress stack but no luck so thought I’d try here…
So I am trying to display a working version of the default wordpress login form on one of my pages. There is code in the functions.php file that creates the shortcode and as far as I know it works successfully, however after submitting the form, it simply refreshes the page and doesn’t redirect to the url I am specifying…can anyone see why it might not work as it should?
This is the function I put in the functions.php file:
//Login form Shortcode
add_shortcode( 'login-form', 'my_login_form_shortcode' );
/**
* Displays a login form.
*
* @since 0.1.0
* @uses wp_login_form() Displays the login form.
*/
function my_login_form_shortcode( $atts, $content = null ) {
$defaults = array( "redirect" => site_url( $_SERVER['REQUEST_URI'] )
);
extract(shortcode_atts($defaults, $atts));
if (!is_user_logged_in()) {
$content = wp_login_form( array( 'echo' => false, 'redirect' => $redirect ) );
}
return $content;
}
I am then placing it in the desired page like so:
[login-form redirect="https://myurl.com"]
but instead of redirecting me to the right page, it is instead refreshing the page even though I am now successfully logged in…any ideas?
You can simply add this code below