修改用戶頁面的密碼欄位

要求看似簡單,將用戶頁面的密碼欄位改成 “New Password” (或加 placeholder 等)

由:

改成:

試過使用最簡單的 hook_form_alter user_profile_form 但不成功,其中一個元素 <?php $form['account']['pass']['#type'] = 'password_confirm';?>
沒有 #title 可以修改

而原來 ‘password_confirm’ 是由 form_process_password_confirm() 輸出的,其中並沒有提供 hook

所以便要另找途徑,使用 form API #pre_render

<?php
function hook_form_user_profile_form_alter(&$form, &$form_state) {
 
$form['#pre_render'][] = 'hook_form_user_profile_form_pre_render';
}
function
hook_form_user_profile_form_pre_render($elements) {
 
$elements['account']['pass']['pass1']['#title'] = t('New password');
 
$elements['account']['pass']['pass2']['#title'] = t('Confirm new password');
  return
$elements;
}
?>

完成

Google