Magento - Display Address Fields on Create an Account

Posted on June 23, 2011 | Magento 1

By default Magento doesnt show the address fields within "Create an Account". To make the sign up process more user friendly you can enable the address fields by adding the following:

Open app/design/frontend/default/default/template/customer/form/register.phtml

Around line 78
Before

<?php if($this->getShowAddressFields()): ?>

Add

<?php $this->setShowAddressFields(true); ?>

Update: 05/07/2012

I have recently found out that on CE 1.6+, the code above does not work.
To make it work you needed to modify app/code/core/Mage/Customer/Block/Form/Register.php.

As you know this is a bad idea as you should NEVER EVER (sorry for shouting, I cant stress this enough!) modify core files.

To overcome this I decided to create a simple extension which overrides this Class to include $this->setShowAddressFields(true);

Download Extension (Show Address in Customer Registration):
PaulDonnelly_ShowAddress.zip

Update: 06/07/2012
Credit to Alex (@Zifius) for this.
You can also show the address fields by adding the following to local.xml

<customer_account_create>
        <reference name="customer_form_register">
            <action method="setShowAddressFields"><value>true</value></action>
        </reference>
</customer_account_create>