有沒有人試圖實現WordPress插件 - 「限制登錄嘗試」到自定義登錄頁面模板?WordPress的限制登錄嘗試插件在自定義登錄表格
在我的自定義模板,我插入:
<div class="msg-error"">
<p>
<!--The credentials entered are incorrect. Please try again.-->
<?php
echo limit_login_get_message();
?>
</p>
產生的誤差:2999次嘗試剩餘。但是,當您嘗試再次輸入無效的密碼或用戶名時,錯誤保持不變並且不會更改。
如果有人這樣做,你能幫我嗎?
謝謝。
------------------------------------ UPDATE --------- --------------------------------
我嘗試這樣做:
$user = wp_signon($credentials, false);
if (is_wp_error($user)) { // True, check for errors and display them
echo '<div class="msg-error">' . $user->get_error_message() . '</div>';
echo '<div class="msg-error">' . limit_login_get_message() . '</div>'; // Display Limit Login Login Attempt message
} else {
wp_redirect(site_url()); // Redirect them to home page
}
當用戶輸入不正確的憑據,WP生成錯誤,但不是限制登錄嘗試錯誤,但如果我添加 echo limit_login_get_message();,它會顯示剩餘的嘗試#(靜態的,#並不在多個不正確的憑據更改....)
這個還在回味......
-------- ---------------------- UPDATE --------------------------- ------------ 這裏是什麼,我有一個片段:
if ($user_ID) {
// Send logged in user back to home page if they are trying to access this page
header('Location:' . home_url());
} else { // If user aren't logged in, Continue log in process
if (isset($_POST["submit-log"])) { // Check for submit button
global $wpdb, $user; // WP Global variables
$username = $wpdb -> escape($_POST['username']); // SQL escape & Fetch username input text
$password = $wpdb -> escape($_POST['password']); // SQL escape & Fetch password input text
$remember = $wpdb -> escape($_POST['rememberme']); // SQL escape & Fetch remember checkbox
if ($remember) // True, checkbox has been checked
$remember = "true";
else // False
$remember = "false";
$credentials = array(); // Create an array to hold the user input data
$credentials['user_login'] = $username;
$credentials['user_password'] = $password;
$credentials['remember'] = $remember;
$user = wp_signon($credentials, false);
if (is_wp_error($user)) { // True, check for errors and display them
echo '<div class="msg-error">' . $user->get_error_message() . '</div>';
echo '<div class="msg-error">' . limit_login_get_message() . '</div>'; // Display Limit Login Login Attempt message
} else {
wp_redirect(site_url()); // Redirect them to home page
}
} else {
// Do nothing
}
}
?>
<div id="login-container">
<h3>Membership Login</h3>
<div class="ws-plugin--s2member-pro-login-widget">
<form id="login" name="form" action="<?php echo esc_html(home_url()); ?>/login/" method="post">
<div class="login-username">
<label for="login-username">Username:</label>
<input id="username" type="text" placeholder="Username" name="username">
</div>
<div class="login-pw">
<label for="login-password">Password:</label>
<input id="password" type="password" placeholder="Password" name="password">
</div>
<div class="lost-pw">
<a href="<?php echo esc_html(site_url('/register')); ?>">signup now</a> | <a href="<?php echo esc_html(site_url('/resetpass')); ?>">forgot password?</a>
</div>
<div class="cust-remember-me">
<label for "remember-me">Remember me</label><input id="remember-me" type="checkbox" name="rememberme">
</div>
<div class="cust-login-submit">
<input id="cust-submit-log" type="hidden" name="hidden-submit-log">
<input id="submit" type="submit" name="submit-log" value="Submit">
</div>
</form>
</div>
我寧願使用插件,以防萬一我被鎖定,我的主機可以爲我解鎖我的IP,但是謝謝,這似乎是我的其他網站的一個很好的解決方案。 – rolu
@rolu我提供了另一種解決方案 –