{"id":139717,"date":"2016-12-12T12:00:26","date_gmt":"2016-12-12T18:00:26","guid":{"rendered":"https:\/\/getflywheel.com\/?p=20455"},"modified":"2023-11-13T13:38:11","modified_gmt":"2023-11-13T19:38:11","slug":"custom-wordpress-login-page","status":"publish","type":"resource","link":"https:\/\/wpengine.com\/case-studies\/resources\/custom-wordpress-login-page\/","title":{"rendered":"How to Create a Custom WordPress Login Page"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">One could argue that the login page is the most important page of any WordPress site. Without the ability to log in, how else can blog owners publish great content? In addition to content creation, this is also the way into the various WordPress configuration options.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The default login page is pretty simple and serves it\u2019s purpose very well. It has the necessary fields for the user to enter their WordPress credentials and the page controls access to the administration screens, allowing only registered users to log in.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As a designer, you\u2019ve probably spent hours and hours creating the perfect website design. It\u2019s important to carry that design through the whole user experience, even if not all users will interact with the login page. This is another opportunity to add that extra detail and will leave a positive impression for those users who regularly log into the site. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(Plus, it&#8217;s considered a <a href=\"https:\/\/getflywheel.com\/layout\/wordpress-security-tips-best-practices\/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress security best practice<\/a> to move the page to a URL that&#8217;s a little less obvious!) Although it is not typically part of the WordPress theme setup, it is pretty simple to make customizations to the WordPress login page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Access the WordPress Login Page<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You\u2019re probably very familiar with accessing this page, no matter what your site responsibilities happen to include. But just in case it&#8217;s been awhile, it\u2019s typically found in the website&#8217;s root directory. The login page is typically something like <code>www.mysite.com\/wp-login.php<\/code>. As you can see, this one has not been styled yet.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/getflywheel-images.s3.us-east-2.amazonaws.com\/uploads\/2016\/12\/wordpress-login-page-standard.png\" alt=\"Screenshot of the standard WordPress login page\" class=\"wp-image-20461\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In some cases, there may be a WordPress install in its own subdirectory. It would then be something like <code>www.mysite.com\/directory-name\/wp-login.php<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Customize the WordPress Login Page<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In the following steps, CSS will be used for styling purposes. Also, there will be theme-specific code added to the <code>functions.php<\/code> file to make the custom page happen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Like most tutorials, you\u2019ll want to try this in your test environment first. If you are looking for a good test environment tool, you\u2019ll want to get familiar with <a href=\"https:\/\/wpengine.com\/local\/\" target=\"_blank\" rel=\"noreferrer noopener\">Local<\/a>. You can efficiently test out new things on your site before going live.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We\u2019ll be making modifications to the <code>functions.php<\/code> file in this tutorial so you can see how the changes work. However, there\u2019s also the option to use these concepts to create a plugin and add any potential modifications there rather than in the <code>functions.php<\/code> file. For this tutorial, the design changes for the login page are very theme-specific, which is why we chose to add them to the theme instead of making a plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Make a new folder for customizations<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Getting organized is key when adding customizations to a theme. You\u2019ll want to create a new folder specifically for these changes. To do that, find your current active theme and create a folder called \u201clogin.\u201d<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/getflywheel-images.s3.us-east-2.amazonaws.com\/uploads\/2016\/12\/wordpress-login-page-location.png\" alt=\"Login folder located in the active theme of a WordPress site\" class=\"wp-image-20463\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Next, a CSS file is needed to reference the custom login styles. In the new login folder, create a blank CSS file and give it a name that&#8217;s easy to remember. In this case, it is <code>login-styles.css<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">How will this stylesheet get connected? It will need to be referenced in the theme\u2019s <code>functions.php<\/code> file. Open the <code>functions.php<\/code> file and paste the following snippets in. (Be sure you include your own naming of the CSS file, if you used something different than <code>login-styles.css<\/code>.)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function custom_login() {\necho '&amp;amp;amp;amp;amp;amp;lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"' . get_bloginfo('stylesheet_directory') . 'login\/login-styles.css\" \/&amp;amp;amp;amp;amp;amp;gt;';\n}\nadd_action('login_head', 'custom_login');<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Changing the logo<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is a fairly easy change to make, and it has a lot of impact to the branding improvement. The browser inspector tools are a huge help in determining the structure of the page. In this example, Chrome Developer Tools was used. To change the WordPress logo to your own, you will need to change the CSS styles associated with this heading:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&amp;amp;amp;amp;amp;amp;lt;h1&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;lt;a href=\"http:\/\/wordpress.org\/\" title=\"Powered by WordPress\"&amp;amp;amp;amp;amp;amp;gt;Your Site Name&amp;amp;amp;amp;amp;amp;lt;\/a&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;lt;\/h1&amp;amp;amp;amp;amp;amp;gt;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/getflywheel-images.s3.us-east-2.amazonaws.com\/uploads\/2016\/12\/wordpress-login-page-logo.png\" alt=\"Changing the logo on the WordPress login page\" class=\"wp-image-20464\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We want to make the CSS specific so targeting the <code>div<\/code> with the class of <code>.login<\/code> will allow us to style the heading and link inside that <code>div<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/getflywheel-images.s3.us-east-2.amazonaws.com\/uploads\/2016\/12\/wordpress-login-page-default.png\" alt=\"Changing the logo on a WordPress login page\" class=\"wp-image-20465\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">To keep things organized, we\u2019ve created a separate images folder. This is optional and you could reference a file in another location if you wanted. Just be sure that the file path is correct for the image you want to use.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.login h1 a {\n  background-image: url('images\/login-logo.png');\n}<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/getflywheel-images.s3.us-east-2.amazonaws.com\/uploads\/2016\/12\/wordpress-login-page-new-logo.png\" alt=\"Separate Images folder within the Login folder\" class=\"wp-image-20466\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We did this using the specified height of 84px in the default style. If you\u2019d like to make it larger or smaller, you can specify that in this CSS stylesheet. There\u2019s the opportunity to specify different margins and padding as well.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/getflywheel-images.s3.us-east-2.amazonaws.com\/uploads\/2016\/12\/wordpress-login-page-original.png\" alt=\"Within the Images folder, a logo file is selected\" class=\"wp-image-20467\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Why can\u2019t the original logo be swapped out? The reason is that when WordPress updates, it may be wiped out.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With this simple style, we now can say goodbye to the generic WordPress logo. This logo swap makes it feel much more personal and branded.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/getflywheel-images.s3.us-east-2.amazonaws.com\/uploads\/2016\/12\/wordpress-login-page-replace-logo.png\" alt=\"The standard WordPress login page, now with a new logo. A red bubble with the letters AF\" class=\"wp-image-20468\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Styling the custom background<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The background could be a solid color, pattern, or something image-based. In this example, we\u2019ll add a black and white, abstract, \u201ctechy\u201d photo to the background.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/getflywheel-images.s3.us-east-2.amazonaws.com\/uploads\/2016\/12\/wordpress-login-page-body-styling.png\" alt=\"Screenshot of code for the WordPress login page\" class=\"wp-image-20469\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Using browser dev tools, the structure can be studied. When inspecting, you will see that the background styles have been set for the body. Things are pretty general, so making things more specific will ensure you don\u2019t make any global changes that you don\u2019t want. There is a class applied to the body called <code>.login<\/code> which will be of great use (this is what we used for the logo in the above example, as it was part of the selector).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/getflywheel-images.s3.us-east-2.amazonaws.com\/uploads\/2016\/12\/wordpress-login-page-inspector.png\" alt=\"Screenshot of code for the WordPress login page\" class=\"wp-image-20470\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>body.login {\n  background-image: url('images\/example-image.jpg');\n  background-repeat: no-repeat;\n  background-attachment: fixed;\n  background-position: center;\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the image doesn\u2019t show up, double check that the path to the image is correct.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/getflywheel-images.s3.us-east-2.amazonaws.com\/uploads\/2016\/12\/wordpress-login-page-background-image.png\" alt=\"WordPress login page, now with a new background image\" class=\"wp-image-20471\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Things are starting to take shape here; even with just these minor changes, the login page&nbsp;is looking a lot more branded and more interesting than the default.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Adjusting the logo link<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This certainly isn&#8217;t a showstopper, but now that you have your own logo on the login page, it should link to your actual website. Currently, it goes to <code>wordpress.org<\/code>. That\u2019s all fine and good, because <code>wordpress.org<\/code> is a popular and helpful place, but in our opinion, having a browser bookmark for that is more than adequate. It does not have to be part of the login page because it seems more useful to have a quick way to get to the project site.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To change the link value so the logo links to your WordPress site, use this function (and remember to insert your own website URL):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function login_logo_url() {\n    return 'https:\/\/www.mysite.com';\n}\nadd_filter('login_headerurl', 'login_logo_url');<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019re wondering where the filters came from, we had to look at the function reference to find <code>login_headerurl<\/code>&nbsp;and <code>login_headertitle<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So now the link is going to the correct place, but what about the title text? If you hover on the logo, you will see \u201cPowered by WordPress\u201d as a title tag. This is absolutely fine, but this isn\u2019t fully descriptive to where the link is going. This is pretty quick and easy to fix, so it\u2019s worth the extra time. For a more accurate title, add this simple function.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function login_logo_text() {\n    return 'The Title';\n}\nadd_filter('login_headertitle', 'login_logo_text');<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>More styling options<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Feel free to go CSS crazy and expand on what we\u2019ve done here. You can style every HTML element on the WordPress login page with CSS. The examples above just scratched the surface. The button, links, and form background can all be customized. And don\u2019t forget about typography, as that can be customized, as well.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/getflywheel-images.s3.us-east-2.amazonaws.com\/uploads\/2016\/12\/wordpress-login-page-final.png\" alt=\"WordPress login page, now with a new background image\" class=\"wp-image-20472\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019ve developed a form style, it would be a seamless experience to carry those styles through to the login page. The same goes for buttons. This makes it a consistent experience and won\u2019t throw users off by having a completely different button than what is used on the actual site. If you\u2019ve created a web style guide, this will be very helpful in determining how to apply consistent design to the login page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And if CSS isn\u2019t your thing, there are existing WordPress plugins that will help you create a custom WordPress login page. Here are a few options worth checking out:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/wordpress.org\/plugins\/theme-my-login\/\" target=\"_blank\" rel=\"noopener noreferrer\">Theme My Login<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/wordpress.org\/plugins\/custom-login\/\" target=\"_blank\" rel=\"noopener noreferrer\">Custom Login<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/wordpress.org\/plugins\/login-customizer\/\" target=\"_blank\" rel=\"noopener noreferrer\">Custom Login Page Customizer<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The login page is often forgotten, but by knowing the potential this page has, it can easily become part of the design process. With a few simple modifications, you can easily personalize your WordPress login page to match the look and feel of your site.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To make sure every page\u2014from your login page to your contact page\u2014loads quickly and performs perfectly, check out WP Engine for <a href=\"https:\/\/wpengine.com\/wordpress-hosting\/\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress hosting<\/a> that just works!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One could argue that the login page is the most important page of any WordPress site. Without the ability to log in, how else can blog owners publish great content? In addition to content creation, this is also the way into the various WordPress configuration options. The default login page is pretty simple and serves<span class=\"tile__ellipses\">&hellip;<\/span><span class=\"tile__ellipses--animated\"><\/span><\/p>\n","protected":false},"author":1,"featured_media":140843,"template":"","resource-topic":[1396],"resource-role":[1397,896,899],"resource-type":[916],"class_list":["post-139717","resource","type-resource","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Create a Custom WordPress Login Page<\/title>\n<meta name=\"description\" content=\"Customizing your login page will ensure contributors get the full experience of your site from the moment they enter their credentials.\" \/>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Create a Custom WordPress Login Page\" \/>\n<meta property=\"og:description\" content=\"Customizing your login page will ensure contributors get the full experience of your site from the moment they enter their credentials.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wpengine.com\/case-studies\/resources\/custom-wordpress-login-page\/\" \/>\n<meta property=\"og:site_name\" content=\"WP Engine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/wpengine\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-13T19:38:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2016\/12\/custom-login-page-header.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1100\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"How to Create a Custom WordPress Login Page\" \/>\n<meta name=\"twitter:description\" content=\"Customizing your login page will ensure contributors get the full experience of your site from the moment they enter their credentials.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2016\/12\/custom-login-page-header.png\" \/>\n<meta name=\"twitter:site\" content=\"@wpengine\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wpengine.com\/case-studies\/resources\/custom-wordpress-login-page\/\",\"url\":\"https:\/\/wpengine.com\/case-studies\/resources\/custom-wordpress-login-page\/\",\"name\":\"How to Create a Custom WordPress Login Page\",\"isPartOf\":{\"@id\":\"https:\/\/wpengine.com\/case-studies\/#website\"},\"datePublished\":\"2016-12-12T18:00:26+00:00\",\"dateModified\":\"2023-11-13T19:38:11+00:00\",\"description\":\"Customizing your login page will ensure contributors get the full experience of your site from the moment they enter their credentials.\",\"breadcrumb\":{\"@id\":\"https:\/\/wpengine.com\/case-studies\/resources\/custom-wordpress-login-page\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wpengine.com\/case-studies\/resources\/custom-wordpress-login-page\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wpengine.com\/case-studies\/resources\/custom-wordpress-login-page\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wpengine.com\/case-studies\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Resources\",\"item\":\"https:\/\/wpengine.com\/case-studies\/resources\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Create a Custom WordPress Login Page\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wpengine.com\/case-studies\/#website\",\"url\":\"https:\/\/wpengine.com\/case-studies\/\",\"name\":\"WP Engine\",\"description\":\"Managed Hosting for WordPress\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wpengine.com\/case-studies\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/wpengine.com\/case-studies\/#\/schema\/person\/f5301455463371a10d1fc290e9ad0085\",\"name\":\"WP Engine\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wpengine.com\/case-studies\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g\",\"caption\":\"WP Engine\"},\"sameAs\":[\"https:\/\/wpengine.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Create a Custom WordPress Login Page","description":"Customizing your login page will ensure contributors get the full experience of your site from the moment they enter their credentials.","robots":{"index":"noindex","follow":"follow"},"og_locale":"en_US","og_type":"article","og_title":"How to Create a Custom WordPress Login Page","og_description":"Customizing your login page will ensure contributors get the full experience of your site from the moment they enter their credentials.","og_url":"https:\/\/wpengine.com\/case-studies\/resources\/custom-wordpress-login-page\/","og_site_name":"WP Engine","article_publisher":"https:\/\/www.facebook.com\/wpengine","article_modified_time":"2023-11-13T19:38:11+00:00","og_image":[{"width":1100,"height":500,"url":"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2016\/12\/custom-login-page-header.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_title":"How to Create a Custom WordPress Login Page","twitter_description":"Customizing your login page will ensure contributors get the full experience of your site from the moment they enter their credentials.","twitter_image":"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2016\/12\/custom-login-page-header.png","twitter_site":"@wpengine","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wpengine.com\/case-studies\/resources\/custom-wordpress-login-page\/","url":"https:\/\/wpengine.com\/case-studies\/resources\/custom-wordpress-login-page\/","name":"How to Create a Custom WordPress Login Page","isPartOf":{"@id":"https:\/\/wpengine.com\/case-studies\/#website"},"datePublished":"2016-12-12T18:00:26+00:00","dateModified":"2023-11-13T19:38:11+00:00","description":"Customizing your login page will ensure contributors get the full experience of your site from the moment they enter their credentials.","breadcrumb":{"@id":"https:\/\/wpengine.com\/case-studies\/resources\/custom-wordpress-login-page\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wpengine.com\/case-studies\/resources\/custom-wordpress-login-page\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wpengine.com\/case-studies\/resources\/custom-wordpress-login-page\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wpengine.com\/case-studies\/"},{"@type":"ListItem","position":2,"name":"Resources","item":"https:\/\/wpengine.com\/case-studies\/resources\/"},{"@type":"ListItem","position":3,"name":"How to Create a Custom WordPress Login Page"}]},{"@type":"WebSite","@id":"https:\/\/wpengine.com\/case-studies\/#website","url":"https:\/\/wpengine.com\/case-studies\/","name":"WP Engine","description":"Managed Hosting for WordPress","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wpengine.com\/case-studies\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/wpengine.com\/case-studies\/#\/schema\/person\/f5301455463371a10d1fc290e9ad0085","name":"WP Engine","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wpengine.com\/case-studies\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g","caption":"WP Engine"},"sameAs":["https:\/\/wpengine.com"]}]}},"acf":[],"grid_image_url":"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2016\/12\/create-customlogin-page-grid.png","media-type":{"term_id":916,"name":"Article","slug":"article"},"role":"<strong>Roles:<\/strong> Designer, Developer, Site Owner","topic":"<strong>Topics:<\/strong> Design","_links":{"self":[{"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource\/139717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource"}],"about":[{"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/types\/resource"}],"author":[{"embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/users\/1"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/media\/140843"}],"wp:attachment":[{"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/media?parent=139717"}],"wp:term":[{"taxonomy":"resource-topic","embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource-topic?post=139717"},{"taxonomy":"resource-role","embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource-role?post=139717"},{"taxonomy":"resource-type","embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource-type?post=139717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}