Customize wp_login_form
-
Hello,
as a non logged-in user you should see a login form in the header of the website that I linked with this thread.
I used this code to get it done:<?php if ( is_user_logged_in() ) { ?> <?php } else { ?> <?php wp_login_form( $args ); ?> <?php } ?>Now I want to customise the appearance.
Some things I was able to change:
Align text and form to the right by this CSS:#loginform{ text-align: right; float: right; } #loginform #label{ display: none; }I still want to remove the Description “Benutzername und E-Mailadresse” and “Passwort”
and put these Texts as a Placeholder inside the username and the password box.Unfortunately I don’t know how to do this.
I would really appreciate your help.
Thank you.The page I need help with: [log in to see the link]
-
Your code doesn’t show what $args are passed to wp_login_form(). You can alter form labels by using specific array elements in $args. See https://codex.ww.wp.xz.cn/Customizing_the_Login_Form#Make_a_Custom_Login_Page
Thank you for your help I was able to remove the labels now
Now as the labels are removed, A placeholder in the username and password box are missing. Any ideas how to get this done?You can try adding this jQuery:
<script type="text/javascript"> jQuery(document).ready(function( $ ){ $("#user_login").val('User ID'); $("#user_login").on("focus", function(){this.value='';}); $("#user_pass").val('Password'); $("#user_pass").on("focus", function(){this.value='';}); }); </script>This will set the value of the User ID field to “User ID” and the Password field to “Password”, as well as set an event handler that will clear the fields when the field gets the focus. The problem, though, is that the password field is of type password, so the placeholder is going to be concealed.
-
This reply was modified 7 years ago by
CrouchingBruin.
-
This reply was modified 7 years ago by
CrouchingBruin.
thank you for the answer. Unfortunately it does not work for me.
But maybe I am not able to add the jQuery properly.
I created a file in my Themes/”myTheme”/assets/js directory, named the file script_new.js and pasted your code in it.
Then to my functions.php I added this code to the bottom:add_action( 'wp_enqueue_scripts', 'add_my_script' ); function add_my_script() { wp_enqueue_script( 'script_new', // name your script so that you can attach other scripts and de-register, etc. get_template_directory_uri() . '/assets/js/script_new.js', // this is the location of your script file array('jquery') // this array lists the scripts upon which your script depends ); }This causes no changes for me.
I also tried it withscript_new.jsin my functions.php
Did I add the jQuery correctly?-
This reply was modified 7 years ago by
bb23.
Looks correct provided you are not using a child theme. Verify jQuery is loaded by finding script tags with src attribute URLs leading to /wp-includes/js/jquery/jquery.js and jquery-migrate.js in the page’s source HTML.
There will also be a src attribute for your JS file. Be sure the URL leads to your actual file.
If that all checks out, check your browser’s JS console for additional clues.
Analysing the source HTML is something I have never done when before. But I did find the URLs leading to /wp-includes/js/jquery/jquery.js and even my script_new:
Checking the console might have revealed the error.
I changed the code to:jQuery(document).ready(function( $ ){ $("#user_login").val('User ID'); $("#user_login").on("focus", function(){this.value='';}); $("#user_pass").val('Password'); $("#user_pass").on("focus", function(){this.value='';}); });now it is showing the placeholder for User Name.
For the password the placeholder is censored.
Is there any possibility to make the placeholder visible but censor the user input?
Thank you-
This reply was modified 7 years ago by
bb23.
Change the code to this:
jQuery(document).ready(function( $ ){ $("#user_login").val('User ID'); $("#user_login").on("focus", function(){this.value='';}); $("#user_pass").attr('type', 'text'); $("#user_pass").val('Password'); $("#user_pass").on("focus", function(){this.value='';document.getElementById('user_pass').type = 'password';}); });Thank you so much!
Exactly what I was looking for-
This reply was modified 7 years ago by
bb23.
-
This reply was modified 7 years ago by
The topic ‘Customize wp_login_form’ is closed to new replies.