Filosofo Home-Page Control

What does Filosofo Home-Page Control do?

Filosofo Home-Page Control is a WordPress plugin that lets you:

  • put pages on the same Permalink level (or higher) as the blog’s directory and
  • set which page you want to be the “home” page.

Why would I want to do that?

  • Let’s say you wanted to use WordPress as a Content Management System, or CMS. If your website is www.example.com, you might want a page with relatively static content (i.e. not your most recent blog posts) to greet your visitors when they load www.example.com.
  • One way to accomplish this is to add a file named

    home.php
     
    to your theme; automatically, WordPress will open that page as the home page. Instead, this plugin allows you to choose any of your existing pages to be the default homepage, without having to create a

    home.php
     
    file.
  • Something else you might want to do is make a sub-directory of your site, say “blog,” to be the home of your blog entries, while allowing other pages to be on the same level (or higher) as that of the blog directory. For example, in addition to www.example.com/blog, you might want something like www.example.com/about or www.example.com/my_pet_frogs. (Normally, if the blog resides in www.example.com/blog, pages would be under that directory, so that you would have www.example.com/blog/about instead of www.example.com/about.)

Note: This plugin is not necessary if you are using WordPress version 2.1+

WordPress version 2.1 and newer includes its features, and you can access them under Options > Reading, so you do not need to install this plugin.

Will it work on my blog?

I’ve tested it successfully on WordPress blogs of version 1.5 and newer, including 2.0.

However, you do need to be able to use mod_rewrite in your .htaccess file, which is another way of saying you should already be using Permalinks.

See the “Warning” below which applies to those using WordPress versions prior to 2.0 and especially to those who are unfamiliar with creating or deleting files.

Where do I download it?

Filosofo Pages on a Different Directory 0.8.3 | October 22, 2006

Installation Instructions

Note: this plugin’s functionality is built in to WordPress 2.1 and newer, so there is no need to use it for those versions.

  1. Download one of the files above and extract it. Then upload the

    filosofo-home-page-control.php
     
    file into your WordPress plugins directory, and activate it under Plugins in the admin control panel. (You must be using “Pretty” Permalinks; in other words, Permalinks cannot be set to “Default” aka “off”.)
  2. Navigate to Options » Home-Page Control and choose which page you want to be the home page of your site (or go with the WordPress default), and choose the directory in which you want your blog’s main page to appear.
    Note: this does not mean that you should create a real directory of that name on your server; rather, simply entering the name of your “directory” will make it appear as though there is such a directory, even though it doesn’t actually exist.
  3. (Optional but highly recommended): Navigate to Options » Permalinks and prepend to the custom Permalink structure the directory name that you chose above. That way, it will appear that the individual posts, categories, etc., reside in the same directory as the blog’s main page.
    So, for example, you might change your permalink structure from /%year%/%monthnum%/%day%/%postname%/ to /blog/%year%/%monthnum%/%day%/%postname%/, if “/blog” is the directory you want your blog to appear in.
  4. This step #4 is not necessary for WordPress 2.0. Navigate to Options » Permalinks and press the button to update your Permalink structure. If your .htaccess file is not writable, you may need to copy and paste the Permalink structure into the .htaccess file.

For users of older WordPress versions

If you’re using any version of WordPress older than 2.0 (i.e. 1.5.x), read this.

Frequently Asked Questions

  1. My template has a home.php file. Will the plugin still use that file?

    Yes. By default, WordPress uses home.php on your home page, and this plugin does not change that behavior. In other words, whatever page you select as the “home” page will use the home.php file as though it were the template for that page. You may also use a custom template for the “home” page, or just the page.php or index.php as normal.

  2. “is_home()” returns true on the “home” page. How can I tell when I’m on the blog’s main page, but not viewing an individual blog post?

    Use this as the test: if (!is_single() && !is_page())

  3. Using the plugin, I now have my blog posts in a “directory” named “/blog,” but the sidebar has disappeared. How can I make the sidebar reappear on the /blog page?

    Some themes use conditional statements in their sidebar.php files so that the sidebar appears only on the “home” page. Try editing your sidebar.php file, replacing something like


    <?php if (is_home()) { ?>
     
    with

    <?php if (!is_single()) { ?>
     
    .

  4. Using the plugin, I now have my blog posts in a “directory” named “/blog,” and I want a link to “/blog” in my sidebar. How can I make a link to “/blog” in the sidebar without manually editing my theme template?

    One way to do this is to create a dummy page with the “Post slug” of “blog” and title of something like “My Blog.” Then it will appear in the list of pages in your sidebar, but when you click the link to “/blog,” WordPress will ignore the dummy page and instead take you to blog “directory.”

  5. I’ve de-activated the plugin, but WordPress acts as though it’s still activated.

    Re-save your permalink settings to flush the rewrite rules cache.

  6. How do I get “Blog” to appear in the title of my “blog” page, instead of just my site’s name?

    Add these lines to your theme’s functions.php file or at the bottom of the plugin file:


    function blog_page_custom_title($a,$b) {
            $t = 'Blog'; // the text to appear in the 'blog' title
            if ( !is_home() && !is_single() && !is_page() ) $a .= " $b $t";
            return $a;
    }
    add_filter('wp_title','blog_page_custom_title',1,2);
     

If you run into any problems or have comments or suggestions, please leave a comment in my support forum or email me at if.website (located at) gmail (dot) com .

See some of the other WordPress plugins I’ve created.
Like this plugin? Is it worth a latte?

My Amazon.com Wish List

This month I have received $31.50 in donations for the free plugins I offer here, which is about $0.01 per download.