In WordPress, you can write either posts or pages. When you’re writing a regular blog entry, you write a post. Posts automatically appear in reverse chronological order on your blog’s home page. Pages, on the other hand, are for content such as “About Me,” “Contact Me,” etc. Pages live outside of the normal blog chronology, and are often used to present information about yourself or your site that is somehow timeless — information that is always applicable. You can use Pages to organize and manage any amount of content.
Other examples of common pages include Copyright, Legal Information, Reprint Permissions, Company Information, and Accessibility Statement. (By the way, it’s a good idea to always have an about page and a contact page — see this advice from Lorelle.)
In general, Pages are very similar to Posts in that they both have Titles and Content and can use your site’s Presentation Templates to maintain a consistent look throughout your site. Pages, though, have several key distinctions that make them quite different from Posts.
Pages in a Nutshell
What Pages Are:
- Pages are for content that is less time-dependent than Posts.
- Pages can be organized into pages and SubPages.
- Pages can use different Page Templates which can include Template Files, Template Tags and other PHP code.
What Pages are Not:
- Pages are not Posts, nor are they excerpted from larger works of fiction. They do not cycle through your blog’s main page. (Note: You can include Posts in Pages by using the Inline Posts Plugin.)
- Pages cannot be associated with Categories and cannot be assigned Tags. The organizational structure for Pages comes only from their hierarchical interrelationships, and not from Tags or Categories.
- Pages are not files. They are stored in your database just like Posts are.
- Although you can put Template Tags and PHP code into a Page Template, you cannot put these into the content of a Page and expect them to run. (Note: You can achieve this by using a PHP evaluating Plugin such as Exec-PHP.)
Changing the URL (or “Slug”) of Your Pages
With 2.5, changing the page URL became less intuitive. If you have Permalinks enabled, and you have selected the Day and Name option (Click the Settings tab, and then click the Permalinks subtab), then the permalink automatically shows up below your post title when you start typing in the body of your post (not just the title).
However, if you have a different permalink option selected, or if you don’t have permalinks enabled at all, you must do the following to edit your page URL:
- Write a page by going to Page > Add New.
- Click the Publish button to publish your page.
- Go to Pages > Edit.
- Click Edit under the name of your page.
- See the permalink under the title, and click the Edit link to change it.
Thus, if you don’t have the right permalink option enabled, you have to publish your pages before you can set the URLs.
Listing Your Pages on Your Site
WordPress is able to automatically generate a list of Pages on your site, for example within the sidebar, using a Template Tag called wp_list_pages(). See the wp_list_pages page for information on how to do the following:
- Sort the list of Pages (to fully customize the order in which the Pages are listed, you might find the “Page Order” section on the Page > Add New administration panel
- exclude (or ‘hide’) a Page from the list,
- Control which Pages are displayed (i.e., all Pages or just certain SubPages), and
- Control how deep into your Page hierarchy the list goes.
Naturally, you can also link to Pages manually with an HTML link. For example, if you want your Copyright Page listed in your footer, that link might read as below:
If you do not have Permalinks set up
<a title="Copyright information" href="wordpress/?page_id=14">Copyright 1996-2010</a>
If you do have Permalinks set up
<a title="Copyright information" href="wordpress/copyright/">Copyright 1996-2010</a>
Note: Your .htaccess file must be writeable for Page Permalinks to work, otherwise you must update your .htaccess file every time you create a Page.
Organizing Your Pages
Just as you can have Subcategories within your Categories, you can also have SubPages within your Pages, creating a hierarchy of pages.
For example, suppose you are creating a WordPress site for a travel agent and would like to create an individual Page for each continent and country to which the agency can make travel arrangements. You would begin by creating a Page called “Africa” on which you could describe general information about travel to Africa. Then you would create a series of Pages which would be SubPages to “Africa” and might include “Lesotho”, “Cameroon”, “Togo”, and “Swaziland”. Another individual Page is made for “South America” and would feature SubPages of “Brazil”, “Argentina”, and “Chile”. Your site would then list:
- South America
To begin the process, go to Administration > Pages > Add New panel, in the upper right corner of the panel and click the “Page Parent” drop-down menu. The drop-down menu contains a list of all the Pages already created for your site. To turn your current Page into a SubPage, or “Child” of the “Parent” Page, select the appropriate Page from the drop-down menu. If you specify a Parent other than “Main Page (no parent)” from the list, the Page you are now editing will be made a Child of that selected Page. When your Pages are listed, the Child Page will be nested under the Parent Page. The Permalinks of your Pages will also reflect this Page hierarchy.
In the above example, the Permalink for the Cameroon Page would be:
Individual Pages can be set to use a specific custom Page Template (a PHP template file, e.g., snarfer.php) you create within your Theme (see Creating your own Page Templates below on how to create a custom template). This new Page Template will then override the default page.php Page Template included with your Theme. See What Template is used to Display a Particular Page? below, to find out exactly which Template will be used, but read the following first, so you understand the answer 🙂
WordPress can be configured to use different Page Templates for different Pages. Toward the bottom of the Write > Page administration panel (or on the sidebar, depending on which version of WordPress you are using) is a drop-down labeled “Page Template.” From there you can select which Template will be used when displaying this particular Page.
NOTE: In order to access the Page Template selector, there must be at least one custom Page Template available in the active theme (see Creating your own Page Templates below to learn how to create one). If a custom page exists, but you still are not able to see Page Template selector, try to re-activate your current theme.
Default Theme Page Templates
The Default theme contains three Page Templates for your use:
- page.php – Default Page Template: displays Page content
- archives.php – ignores Page content and instead displays a list of Archives by Month and Archives by Subject (by Category)
- links.php – ignores Page content and instead displays your links using wp_list_bookmarks()
What Template is used to Display a Particular Page?
WordPress will look for several template files in your active Theme. The first one it finds will be used to display any given Page. WordPress will look for files in the following order:
- The Page’s selected “Page Template”
The Dynamic Nature of WordPress “Pages”
A web page can be static or dynamic. Static pages, such as a regular HTML page that you might create with Dreamweaver, are those which have been created once and do not have to be regenerated every time a person visits it. In contrast, dynamic pages, such as those you create with WordPress, do need to be regenerated every time they are viewed; code for what to generate has been specified by the author, but not the actual page itself. These use extensive PHP code which is evaluated each time the page is visited, and the content is thus generated on the fly, upon each new visit.
Almost everything in WordPress is generated dynamically, including Pages. Everything you and others write in WordPress (Posts, Pages, Comments, Blogrolls, Categories, etc.) is stored in your MySQL database. When your site is accessed, that database information is then used by your WordPress Templates from your current Theme to generate the web page being requested. Thus, WordPress information is dynamic, including the information contained in your Pages.
An example of a static page might be an HTML document (without any PHP code) you’ve written as an addition to your dynamically generated WordPress pages, perhaps an “About Me” page. The problem with purely static pages is that they are difficult to maintain. Changes you make to your WordPress settings, Themes and Templates will not be propagated to pages coded only in HTML. The Page feature of WordPress was developed, in part, to alleviate this problem. By using Pages, users no longer have to update their static pages every time they change the style of their site. Instead, if written properly, their dynamic Pages will update themselves along with the rest of your blog.
Despite the dynamic nature of Pages, many people refer to them as being static. In the context of web publishing, static and dynamic mean what has been described above. More generally, however, static can mean “characterized by a lack of change”. It is easy to see how this definition influenced the word’s use in describing types of web pages. It is also easy to see why people think of Pages as being static; Posts come and go, but Pages are here to stay since Pages are typically used to display information about your site which is constant (e.g., information about yourself, description of your site).
In other words, a Page contains static information but is generated dynamically. Thus, either “static” or “dynamic” may be validly used to describe the nature of the WordPress Page feature. However, in order to avoid confusion, and because Pages themselves are dynamic while it is only their contents which are in some way static, this document does not refer to Pages as being static.