您應該通過掛接login_form
操作來完成此操作,而不是修改wp-login.php,該操作將在下次更新時被覆蓋。
您可以將此代碼添加到你的主題functions.php
文件:
// As part of WP login form construction, call our function
add_filter ('login_form', 'login_form_prepop');
function login_form_prepop(){
// Output jQuery to pre-fill the box
if (isset($_REQUEST['myusername'])) { // Make sure a username was passed
?>
<!-- Small jQuery script to set the value of the input field to your variable -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#user_login").val('<?php echo($_REQUEST['myusername']); ?>');
});
</script>
<?php
}
}
然後更新您的代碼,包括變量:
<?
if (!is_user_logged_in()): ?>
<meta http-equiv="refresh" content="0;URL=<? echo wp_login_url(get_permalink()); ?>?myusername=username">
<? endif; ?>
如果jQuery的腳印實在是太多了,就可以實現與JavaScript相同:
<script type="text/javascript">
var el = document.getElementById("user_login");
el.value = "<?php echo($_REQUEST['myusername']); ?>";
</script>
非常感謝!我必須編輯URL並將代碼更改爲&myusername =,因爲它還包含URl字符串中的redirecturl。 –
另一個問題我已經是: 'code' <?PHP /* 模板名稱:我的報價清單 */ ?> <? 如果(is_user_logged_in()!):> &名爲myUsername =用戶名」> endif; ?> <? php get_header(); ?> '代碼' 頁面似乎加載然後這個重新指揮執行,有沒有辦法重定向之前,頁面呈現給用戶? –
我的另一個問題是:code <?php/* Template Name:My Quotes List * /?><? if(!is_user_logged_in()):?>&myusername = username」> endif; ?><?php get_header ; ?>代碼頁面似乎加載然後重新執行直接執行,有沒有辦法在頁面呈現給用戶之前重定向? –