公告:123目录网为广大站长提供免费收录网站服务,我们将免费进行到底,如需快审服务(10元/站)请联系站长QQ,可自助充值发布。

点击这里在线咨询客服
新站提交
  • 网站:315
  • 待审:0
  • 小程序:12
  • 文章:35791
  • 会员:69

 

WordPress网站修改密码是通过邮箱SMTP邮件发送来实现的,但是很多主机不支持邮箱发送功能,所以默认的Wordpress重置修改密码功能非常不好用。

下面介绍一下如何在Wordpress网站前台添加重置修改密码功能。同时前端用户中心中还需要用户密码重置,我们可以通过短代码在主题的任何位置插入重置密码的表单。

第一步:在 functions 文件当中插入如下代码:

functionpippin_change_password_form() { global $post; if (is_singular()) : $current_url = get_permalink($post->ID); else : $pageURL = http; if ($_SERVER["HTTPS"] == "on") $pageURL .= "s"; $pageURL .= "://"; if ($_SERVER["SERVER_PORT"] != "80") $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; else $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; $current_url = $pageURL; endif; $redirect = $current_url; ob_start(); // show any error messages after form submission pippin_show_error_messages(); ?> <?php if(isset($_GET[password-reset]) && $_GET[password-reset] == true) { ?> <div class="pippin_message success"> <span><?php _e(Password changed successfully, rcp); ?></span> </div> <?php } ?> <form id="pippin_password_form" method="POST" action="<?php echo $current_url; ?>"> <fieldset> <p> <label for="pippin_user_pass"><?php _e(New Password, rcp); ?></label> <input name="pippin_user_pass" id="pippin_user_pass" class="required" type="password"/> </p> <p> <label for="pippin_user_pass_confirm"><?php _e(Password Confirm, rcp); ?></label> <input name="pippin_user_pass_confirm" id="pippin_user_pass_confirm" class="required" type="password"/> </p> <p> <input type="hidden" name="pippin_action" value="reset-password"/> <input type="hidden" name="pippin_redirect" value="<?php echo $redirect; ?>"/> <input type="hidden" name="pippin_password_nonce" value="<?php echo wp_create_nonce(rcp-password-nonce); ?>"/> <input id="pippin_password_submit" type="submit" value="<?php _e(Change Password, pippin); ?>"/> </p> </fieldset> </form> <?php return ob_get_clean(); } // password reset form function pippin_reset_password_form() { if(is_user_logged_in()) { returnpippin_change_password_form(); } } add_shortcode(password_form, pippin_reset_password_form); function pippin_reset_password() { // reset a users password if(isset($_POST[pippin_action]) && $_POST[pippin_action] == reset-password) { global $user_ID; if(!is_user_logged_in()) return; if(wp_verify_nonce($_POST[pippin_password_nonce], rcp-password-nonce)) { if($_POST[pippin_user_pass] == || $_POST[pippin_user_pass_confirm] == ) { // password(s) field empty pippin_errors()->add(password_empty, __(Please enter a password, and confirm it, pippin)); } if($_POST[pippin_user_pass] != $_POST[pippin_user_pass_confirm]) { // passwords do not match pippin_errors()->add(password_mismatch, __(Passwords do not match, pippin)); } // retrieve all error messages, if any $errors =pippin_errors()->get_error_messages(); if(empty($errors)) { // change the password here $user_data = array( ID => $user_ID, user_pass => $_POST[pippin_user_pass] ); wp_update_user($user_data); // send password change email here (if WP doesnt) wp_redirect(add_query_arg(password-reset, true, $_POST[pippin_redirect])); exit; } } } } add_action(init, pippin_reset_password); if(!function_exists(pippin_show_error_messages)) { // displays error messages from form submissions function pippin_show_error_messages() { if($codes =pippin_errors()->get_error_codes()) { echo <div class="pippin_message error">; // Loop error codes and display errors foreach($codes as $code){ $message = pippin_errors()->get_error_message($code); echo <span class="pippin_error"><strong> . __(Error, rcp) . </strong>: . $message . </span><br/>; } echo </div>; } } } if(!function_exists(pippin_errors)) { // used for tracking error messages function pippin_errors(){ static $wp_error; // Will hold global variable safely return isset($wp_error) ? $wp_error : ($wp_error = new WP_Error(null, null, null)); } }

第二步:在你需要的地方插入:

[password_form]

这样就可以在建网站时,就可以在网站前台添加密码重置功能表单了。如果不想使用这个代码,可以直接下载WordPress前端用户密码修改模板

标签:

下一篇:wordpress是啥东西(wordpress是什么语言编写的)(wordpress是开源的吗)

上一篇:wordpress主题修改教程(wordpress更改主题)(WordPress主题模板与预设模板的关系)

相关文章

  admin95360564zxm

注册时间:

网站:1 个   小程序:3 个  文章:12 篇

  • 315

    网站

  • 12

    小程序

  • 35791

    文章

  • 69

    会员

赶快注册账号,推广您的网站吧!
最新入驻小程序

数独大挑战2018-06-03

数独一种数学游戏,玩家需要根据9

答题星2018-06-03

您可以通过答题星轻松地创建试卷

全阶人生考试2018-06-03

各种考试题,题库,初中,高中,大学四六

运动步数有氧达人2018-06-03

记录运动步数,积累氧气值。还可偷

每日养生app2018-06-03

每日养生,天天健康

体育训练成绩评定2018-06-03

通用课目体育训练成绩评定