Intereting Posts
Добавление дополнительных переменных на странице меню Решения для генерации динамического javascript / CSS Импортировать настройки из другой темы Загружать и включать определенные файлы JavaScript для сообщений? Как узнать, который является текущим запросом при использовании пользовательских запросов? (Polylang) Получите идентификатор термина в его переводах wp_mkdir_p проблема с арабским? Как я могу экспортировать данные без использования какого-либо модуля импорта / экспорта Могу ли я привязать категорию post_type = 'post' к пользовательской категории post_type? WP_Query – Исключить сообщения Как перенаправить запросы URL-адресов на https? Мой сайт WordPress перенаправляется на порт 8082 сделать титры подписи WordPress отзывчивыми Каков правильный способ получить только плагин для отображения только для администратора Отображение товаров из категорий в woocommerce

Удаление меток и тега объявления в форме входа в систему WordPress по умолчанию

Я настраиваю форму входа, чтобы более точно напоминать минималистскую форму Google, которая не имеет меток формы, и вместо этого полагается на заполнители, чтобы приглашать пользователей для полей ввода. Форма начинается так:

<p> <label for="user_login">Username<br /> <input type="text" name="log" id="user_login" class="input" value="" size="20" /></label> </p> 

WordPress не имеет способа вставить заполнители в логин, но я нашел простое решение jQuery для этого.

Когда вы вызываете логин WordPress в своей собственной форме, вы можете передать значения, чтобы переопределить значения по умолчанию, как описано в Codex . Размещение пустых значений в ваших аргументах приведет к удалению соответствующей метки, например:

  <?php $args = array( 'label_username' => __( '' ), 'label_password' => __( '' ), 'label_log_in' => __( 'Sign In' ), ); ?> <?php wp_login_form( $args ); ?> 

Это использование очистит ярлык и тег <br /> после метки, чтобы он выглядел так:

  <p class="login-username"> <label for="user_login"></label> <input type="text" name="log" id="user_login" class="input" value="" size="20" /> </p> 

Однако значения страницы входа в систему WordPress по умолчанию (например, страница на /wp-login.php), по-видимому, не могут быть изменены, так как они не вызываются вашей собственной функцией.

Я нашел метод изменения меток в форме по умолчанию, предлагаемый пользователем стека. Этот метод можно изменить, чтобы удалить метки, как я сделал это:

  function empty_login_labels() { add_filter( 'gettext', 'username_change', 20, 3 ); function username_change( $translated_text, $text, $domain ) { if (preg_match("/Username|Password/", $text)) { $translated_text = ''; } return $translated_text; } } add_action( 'login_head', 'empty_login_labels' ); 

К сожалению, возможно, потому, что фильтр применяется позднее в этом процессе, WordPress уже добавил теги <br /> после (теперь пустых) меток:

  <p> <label for="user_login"><br /> <input type="text" name="log" id="user_login" class="input" value="" size="20" /></label> </p> 

ПРИМЕЧАНИЕ. Я заметил, что WordPress формально форматирует эти две формы несколько иначе: ярлык в форме по умолчанию содержит поле ввода, тогда как в вызываемой пользователем функции ( wp_login_form() ) контейнер ярлыков закрывается перед полем ввода. Возможно, это не проблема, но объяснит, почему фрагменты кода выглядят по-разному

Я мог бы стиль вокруг дополнительного тега с CSS, но это проблематично. Есть ли способ удалить этот тег <br /> или, по крайней мере, получить в нем идентификатор до шести – с помощью css?

Solutions Collecting From Web of "Удаление меток и тега объявления в форме входа в систему WordPress по умолчанию"

Спасибо @dalbaeb за то, что указали мне в правильном направлении – я не понимал, что вы можете нацелить элемент метки с его значением атрибута. Полученный стиль для таргетинга на тег «i» после метки:

 label[for=user_login] > br, label[for=user_pass] > br { display: none; } 

Документацию MDN для селекторов атрибутов можно найти здесь .