Custom Registration Page (mostly style and wording) for Multisite


I have already read several of the methods regarding on how to customize wp-signup.php page.

These topics are old – is there anything new on this matter.

I am trying to avoid solutions using Gravity Forms and similar plugins.


  • Timothy
    • Chief Pigeon

    Hey there.

    You should be able to take the code and pop it into your own page template, been a while since I’ve done this but I don’t see why it won’t continue to work.

    You’ll want to check the paths like:

    require( dirname(__FILE__) . '/wp-load.php' );

    <form id="setupform" method="post" action="wp-signup.php">

    Note the path there.

    If you get stuck then let us know. :slight_smile:

    Take care.

  • marcio
    • Flash Drive

    Thanks Timothy,

    It almost works :wink:

    wp-signup.php is a two-step process.

    It works for the first step, where the user needs to enter username and email; when I press the “next” button, then it takes me to the second step but on the original wp-signup.php page (not my custom register slug using my custom-wp-signup.php template).

    Any ideas on what else I need to modify ?

    Thanks again!

  • marcio
    • Flash Drive

    Just posting back to report progress:

    It worked! I indeed had forgot to replace one of the form actions references.

    As a reference for those trying to do the same:

    1. Make a copy of wp-signup.php and place it inside your themes/page-templates. I renamed my to ‘custom-signup.php’;

    2. Create a page on your site that uses ‘custom-signup’ as the template;

    3. Make the following changes (right at the beginning)

    require( './wp-load.php' );
    require( './wp-blog-header.php' );

    4. Replace ALL the references to:

    <form action="wp-signup.php">

    to point to your custom signup page;

    5. Customize appearance and style by modifying custom-signup.php (this will require a bit of knowledge of css and html)


  • diegpl
    • Syntax Hero

    Hi, I did like the guy told it, I changed these lines at custom-signup.php

    require( './wp-load.php' );
    require( './wp-blog-header.php' );

    It worked in the first step, but after I tried to subscribe I got this error:

    Warning: require(./wp-load.php): failed to open stream: No such file or directory in D:xampphtdocsxxxxxxxwp-contentthemestwentyfourteenpage-templatescustom-signup.php on line 15

    Fatal error: require(): Failed opening required './wp-load.php' (include_path='.;D:xamppphpPEAR') in D:xampphtdocsxxxxxxxwp-contentthemestwentyfourteenpage-templatescustom-signup.php on line 15

    I came to here through this thread:

    When I was editing direct at wp-signup.php to hack the “New blog templates” plugin it was working. But now I am needing to use this custom-signup.php, to not lose my changes after a new version of WordPress.

    What am I doing wrong? tks!

  • Timothy
    • Chief Pigeon

    Hey there.

    You’re getting that error because the path is still wrong.

    So if you’re in:


    You need to go back to root of your WP install where the actual wp-load.php file is.

    require( '../../../wp-load.php' );

    Probably better off using:

    For any new issues please always pop open your own thread. :slight_smile:


Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.