У меня есть этот код, который работает с журналом пользователя успешно, но мне также нужно сделать так, чтобы после входа в него он перенаправлялся на другую страницу, я не очень хорошо знаком с php, и я просмотрел здесь и с google и переадресовывал, когда submit Я видел, что вы изменяете action = "url назначения", но у него уже есть этот php-код, и если я изменю его, это не сработает. Я ценю любую помощь в этом.
<div id="apDiv4"> <form name="login-form" id="sidebar-login-form" class="standard-form" action=" <?php echo site_url( 'wp-login.php', 'login_post' ) ?>" method="post"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><table width="100%" border="0" cellspacing="0" cellpadding="5"> <tr> <td> <label><?php _e( 'Username', 'buddypress' ) ?> <input type="text" name="log" id="sidebar-user-login" class="input" value="<?php echo esc_attr(stripslashes($user_login)); ?>" /></label> </td> <td> <label><?php _e( 'Password', 'buddypress' ) ?> <input type="password" name="pwd" id="sidebar-user-pass" class="input" value="" /></label> </td> </tr> <tr><td> <p class="forgetmenot"><label><input name="rememberme" type="checkbox" id="sidebar-rememberme" value="forever" /> <?php _e( 'Remember Me', 'buddypress' ) ?></label></p></td> <td> <?php do_action( 'bp_sidebar_login_form' ) ?> <input type="image" value=<img src="http://img.ruphp.com/php/button-letmein.png" width="127" height="26" name="wp-submit" id="sidebar-wp-submit" tabindex="100" /> <input type="hidden" name="testcookie" value="1" /> ?> </td> </td> </tr> </table></td> </tr> </table> </form> </div>
По мере того, как ваш WordPress работает с вами, вы должны использовать скрытое поле в своей форме (redirect_to). Его особенность.
<form name="login-form" id="sidebar-login-form" class="stand... <input type="hidden" name="redirect_to" value="http://redirect.to.com">
в строке 570 из wp-login.php он будет обрабатывать значение перенаправления после входа в систему:
$redirect_to = apply_filters('login_redirect', $redirect_to, isset( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '', $user);
<?php wp_redirect( $location, $status ); exit; ?>
Вы захотите использовать header("Location: /some/page.php")
в скрипте PHP, который обрабатывает значения формы.
Это перенаправление должно выполняться на стороне сервера, потому что ваш сервер сначала должен действительно получать данные, поэтому вы не можете изменить поле действия.
В php-файле, где вы обрабатываете транзакцию, вы можете использовать заголовок-местоположение:
<?php $host = $_SERVER['HTTP_HOST']; $uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); $extra = 'some_page.php'; header("Location: http://$host$uri/$extra"); ?>