Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I installed a WordPress for a domain name. When I use this domain name will point to index.php in my template. I want show a under construction page for this domain name, but the other hand I still want work on index.php in my template.

share|improve this question

5 Answers 5

You can filter template_include and include a special file for users who are not logged in:

/* Plugin Name: T5 Under Construction */

add_filter( 'template_include', 't5_uc_template' );

function t5_uc_template( $template )
{
    $uc_template = dirname( __FILE__ ) . '/under-construction.php';

    if ( ! is_user_logged_in() )
        return $uc_template;

    if ( ! current_user_can( 'administrator' ) )
        return $uc_template;

    return $template;
}

The file under-construction.php could be a plain HTML file; it doesn’t have to be a PHP file.

share|improve this answer
    
I'm sorry for this but.. What file I need to put that code? –  SoldierCorp Apr 30 '13 at 2:17
    
@SoldierCorp Make a plugin with this code. –  toscho Apr 30 '13 at 8:24

The simplest workaround would be to just add the static content in a new index.html file in the root, and the server should read the .html before the .php

share|improve this answer
2  
That would affect all users, including the administrator. –  toscho Apr 25 '13 at 10:23
    
But then you'd only change the Index, not the overall access to the website. Any deep link (such as http://example.com/category/post-name/ etc.) still would work. –  t f Apr 25 '13 at 10:23

You can restrict depending on the IP address and Htaccess file.

<Files index.php>
  Order Deny,Allow
  Deny from all
  Allow from 12.34.56.78
</Files>

where 12.34.56.78 is your ip address.

share|improve this answer

Use maintenance mode plugin. Activate it. Once activate login as admin and you can only view your site. Other users can see maintenance message.

share|improve this answer

The simplest way would be using an maintenance or coming soon plugin. It will take a minute or 2 to setup the plugin and you're good to go.

http://wordpress.org/extend/plugins/wp-maintenance-mode/

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.