Текст-заполнитель для формы регистрации в WordPress
Я пытаюсь добавить текст-заполнитель в стандартную форму регистрации WordPress. В настоящее время я использую плагин Register Plus Redux. Как добавить этот текст-заполнитель в текстовые поля формы?
Мне нужно указать пользователям использовать свое имя и фамилию в качестве имени пользователя. Буду очень признателен, если кто-то сможет помочь.

Еще один простой способ сделать это без необходимости добавления дополнительного скрипта — использовать функцию PHP str_replace.
$args = array(
'echo' => false,
);
$form = wp_login_form( $args );
//добавляем плейсхолдеры
$form = str_replace('name="log"', 'name="log" placeholder="Имя пользователя"', $form);
$form = str_replace('name="pwd"', 'name="pwd" placeholder="Пароль"', $form);
echo $form;

Если я ничего не упускаю, это выглядит как идеальное решение, поскольку тогда вы не зависите от JS, что может привести к отсутствию плейсхолдеров, если у пользователя отключен JavaScript или возникла ошибка в коде. А если вы скрыли подписи, ваша форма в таком случае станет бесполезной.

К сожалению, нет хуков/фильтров для изменения поля ввода в форме входа/регистрации, чтобы добавить к нему placeholder.
Но вы можете сделать это с помощью простого jQuery. Ниже я добавляю шаги.
Я не знаю, как этот плагин изменяет форму, но вы можете применить тот же подход для него. Ниже приведены коды, работающие для стандартной страницы входа/регистрации.
Сначала вам нужно создать js-файл. Я создал его в папке js активной темы
и назвал custom.js
.
Затем добавил следующую строку в этот файл.
/**
* Пользовательский js файл.
*/
jQuery(document).ready(function(){
jQuery('#user_login').attr('placeholder', 'Имя пользователя');
jQuery('#user_email').attr('placeholder', 'Email пользователя');
jQuery('#user_pass').attr('placeholder', 'Пароль пользователя');
});
Вышеуказанный код добавляет placeholder Имя пользователя
, Email пользователя
и Пароль пользователя
к полям ввода user_login
, user_email
и user_pass
соответственно. Вы можете изменить их по своему усмотрению.
Теперь вам нужно добавить/зарегистрировать этот js-файл, что можно сделать, добавив следующий код в файл functions.php
вашей активной темы.
add_action( 'login_enqueue_scripts', 'wpse_login_enqueue_scripts', 10 );
function wpse_login_enqueue_scripts() {
wp_enqueue_script( 'custom.js', get_template_directory_uri() . '/js/custom.js', array( 'jquery' ), 1.0 );
}

Марути, ТЫ СДЕЛАЛ МОЙ ДЕНЬ! Я не могу выразить, как я благодарен!!

Могу я дать тебе, ну, золотой значок или что-то в этом роде? :)

Рад, что помог, а насчёт значка — нет, ты не можешь дать мне значок, по крайней мере, WPSE пока не поддерживает такую функцию ;) но ты точно можешь проголосовать за мой ответ и принять его, чтобы я получил максимум 25 очков от тебя :)

@mr_bythatmuch Если это решение вам помогло, примите его, чтобы оно помогло другим с такой же проблемой. как-работает-принятие-ответа

Контент, достойный вознаграждения золотом, но не помеченный как правильный ответ. SMH.

Для будущих читателей: плейсхолдеры не поддерживаются в <IE10. Учитывая, что 2 из каждых 10 ваших посетителей используют IE8/IE9, я рекомендую использовать полифилл-плагин.
