Table of Contents
Welcome to the WordPress User Handbook! This is a new feature of WordPress 2.7 that bundles information about the application with each installation. The Handbook is intended as a basic guide; for more information than is provided here, you should try online resources such as the Codex, the Support Forums, or IRC channel.
Table of Contents
WordPress is a powerful personal publishing platform, and it comes with a great set of features designed to make your experience as a publisher on the Internet as easy, pleasant and appealing as possible. We are proud to offer you a freely distributed, standards-compliant, fast, light and free personal publishing platform, with sensible default settings and features, and an extremely customizable core.
WordPress is designed to be installed on your own web server or shared hosting account, which gives you complete control over the weblog. Unlike third-party hosted services, you can be sure of being able to access and modify everything related to your weblog, in case you need to. This also means that you can install WordPress on your desktop or home computer, or even on an Intranet. If you do not have your own web hosting yet, wordpress.org provides a list of potential hosting companies, many of which are inexpensive and/or bundle WordPress installations with their hosting packages.
Although WordPress displays in U.S. English by default, the software has the built-in capability to be used in any language. The WordPress community has already translated WordPress into over 50 languages, and there are Themes, translation files, and support available in many languages other than English. If you wish to install WordPress in a language other than English, refer to the Codex for instructions specific to your language.
Table of Contents
PHP (version 4.3 or newer) and MySQL(version 4.0 or newer) are required. Apache mod_rewrite module is optional, but necessary to create clean URIs known as Permalinks.
We recommend Linux with either the Apache or nginx web-servers as the most robust platforms for running WordPress, but any server that supports PHP and MySQL will do. If your host doesn’t support one of these platforms, and mod_rewrite, you will probably be better off switching to one of the many hosting providers that do offer those choices. It is also essential that your host allows making remote connections.
You will need access to your site and its directory, and software to proceed with the installation. These are:
Prerequisite for Uploading Files: In order to use all the media upload tools to store media files in your WordPress installation, you will have to change the chmod of wp-content folder to 777. If you have not changed permissions in order to write in wp-content folder, you will not be able to use the uploader. Instructions for this can be found in the Codex.
The Famous 5-minute Install consists of the following steps:
Download and unzip the WordPress package, if you haven’t already.
Create a database for WordPress on your web server, as well as a MySQL user who has all privileges for accessing and modifying it.
Rename the wp-config-sample.php file to wp-config.php.
Open wp-config.php in your favorite text editor and fill in your database details.
Place the WordPress files in the desired location on your web server:
If you want to integrate WordPress into the root of your domain (e.g. http://example.com/), move or upload all contents of the unzipped wordpress directory (but excluding the directory itself) into the root directory of your web server.
If you want to have your WordPress installation in its own subdirectory on your web site (e.g. http://example.com/blog/), rename the directory wordpress to the name you’d like the subdirectory to have and move or upload it to your web server. For example if you want the WordPress installation in a subdirectory called blog, you should rename the directory called wordpress to blog and upload it to the root directory of your web server.
Run the WordPress installation script by accessing wp-admin/install.php in your favorite web browser.
If you installed WordPress in the root directory, you should visit: http://example.com/wp-admin/install.php
If you installed WordPress in its own subdirectory called blog, for example, you should visit: http://example.com/blog/wp-admin/install.php
That’s it! WordPress should now be installed.
If you run into any trouble with these simple directions, you can find more detailed instructionsin the Codex.
To Upgrade from a previous version of WordPress, see the section called “Upgrading WordPress”.
Once you’ve installed WordPress, you’ll log in to your Administration Panel. This is the application you will use to create content, manage your blog’s design, moderate comments, and generally oversee your blog. The Administration Panel has been completely redesigned in WordPress 2.7 to provide an faster, easier experience when managing your blog. If you have used similar software before, you should have no trouble getting around, but even new users will have an easy time getting up to speed. Individual screens will be covered in more depth in the handbook sections related to their use, but before you get started, an overview of how the Administration Panel is structured may be useful, especially if you’re used to using an older version of WordPress.
The Administration Panel is divided into several main areas. The header is the dark bar across the top of your screen that contains the name of the blog you’re administering. On the left is the main menu. The bulk of the screen provides the working area, in which individual screen content will appear. At the bottom of the screen is another dark bar called the footer. This structure is consistent throughout the application.
WordPress 2.7 has a multi-modal navigation system to allow fast access to every screen in the application. The main menu column on the left is the primary method of navigation, and is divided into three groups of navigation sections.
The group by default contains only the section, though plugins may add additional sections to this group (and WordPress MU uses this group for its section). The group is divided from the group below by a thin gray line with an arrowhead on its left side.
The group consists of , , , and by default, though again, plugins may add additional objects to this group. This group contains the sections where site content is created and managed, and is divided from the group below by another thing gray line.
The third group is the group, which contains sections related to overall site administration rather than content creation. Sections included here by default are , , , , and .
The main menu is designed to work in three different ways, so that every user can choose the style of menu interaction they prefer. From the simplest to more advanced, the three options are:
Click on the text links or their corresponding icons in the main menu (, , , , , etc.) to go to the first screen in that section. This is usually an overview screen that allows management of that section. When you have arrived at this screen, the main menu will have expanded to show the screens that comprise that section, and will have highlighted your current screen. The icon will also be repeated in the screen heading that is displayed in the working area. You can click on the text links in the menu to go to other screens in that section or to choose a different section altogether.
You don’t need to go to a section’s default screen in order to access other screens in a section. When your mouse hovers over a navigation item in the main menu, a small arrow appears to the right of the text link. Clicking this arrow will cause that section’s menu to appear below the section header. Clicking the arrow again will hide the section menu. Section menus will still expand automatically when you visit a specific section, and close when you leave it, but if you have opened a section by clicking the arrow, it will stay open until you click to close it, even if you leave that section. This allows you to keep open the sections that you use the most. A browser cookie will remember your menu state between sessions. Bear in mind that the more sections you have open, the longer the menu will be, which may require scrolling to get to some menu sections. Because of this, you may find it most convenient to keep most sections closed by default.
If your screen is not very wide or is running at a low resolution, you may wish to increase your horizontal working area. To support this, the minimized menu mode allows you to collapse the left menu column into a thin row of icons. The thin gray lines that divide the navigation groups act as a toggle for this menu state. Click on either of the small gray arrows, and the menu will minimize to the icon row. In this state, hovering over an icon will cause the section menu to popup to the right of the cursor, allowing you continued access to virtually every screen in the application. To return the menu to its normal state, just click on one of the small gray arrows (now pointing to the right).
You don’t need to adjust a setting to turn these options on or off. You can use the menu in any one or all of these ways as it suits you.
In the header of the application there is an additional menu of shortcuts, located toward the right side of the screen. This menu has a dual function. The default menu state of acts as a button providing single-click access to the post creation screen. If you hover over the arrow on the right side of the button, a shortcuts menu will appear with links to frequently accessed screens. The default screens available from this menu are , , , , and . Plugins may also add items to this menu. Clicking on any of these links will load the appropriate screen.
Additional navigation links in the header area include:
Provides links to wordpress.org, the Codex, and the Support Forums
Links to your blog’s home page
Right after “Howdy,” your name links to your profile in the administration panel (the default username is admin)
Logs you out of your administration panel and takes you to a login screen
Hanging tab below the header slides opens to reveal customization options that vary by screen
Hanging tab below the header slides open to reveal contextual help for each screen as well as links to the Codex (links to appropriate section of the Codex based on current screen) and the Support Forums
Many screens in the WordPress 2.7 administration panel can be customized to suit your use of the application. On screens made up of modules, the modules can often be expanded or collapsed by clicking on the title bar of the module, and modules can often be rearranged using drag and drop. In the upper right is a tab labeled , which appears on screens that allow customization. These include screens made up of modules as well as screens that provide tables of information. Clicking the tab reveals a layer that lists modules or table columns that can be hidden from view. Uncheck the box next to the element you wish to remove from your screen, and it will disappear instantly. Check the box and the element will reappear on the screen. Screens that are customized with these methods will retain their states between sessions.
The is the fist screen you will see when you log in to http://example.com/wp-admin/. This screen provides you an overview of the state of your site as well as certain functionality. This screen is completely customizable. The modules on the include:
This module gives you a listing of how much content exists in your blog as well as status messages for your version of WordPress, your theme and the number of widgets you are using. Some plugins may also insert information here, such as Akismet.
This module allows you to create a draft or publish a post right from the . You can enter a title, text, media and tags. If you save as draft, the title will appear in the module
This module provides single-click access to your most recent drafts, as well as to a listing of all your drafts.
This module shows the last 5 comments on your site, and allows you to moderate them right from the . You can approve/unapprove, edit, delete or reply, just as when you’re in the full section.
This module provides an overview of recent content and activity on your site.
This module displays new incoming links to your site, powered by Google.
These modules are for feeds, and are pre-populated with feeds for the wordpress.org/development blog and for the Planet WordPress aggregator blog. You can configure how these feeds display by clicking the link that appears when you hover over the module title bar. You can also replace these feeds with other RSS feeds by replacing the feed URLs in the configuration view.
This module displays three plugins pulled from the official plugin repository with links to install each one.
There are a number of settings that define how your blog will be displayed and/or how the administration panel will display information to you. Before you begin creating content, you will want to change some of these settings. Each of the Settings screens is described below, but you only need to adjust those settings that you care about. For each screen, make sure you click the button before exiting the screen, or your changes will not be saved. Once you click the button, a confirmation text box will appear at the top of the page telling you your settings have been saved. Remember, the button must be clicked on every screen.
This is the default screen in the section and controls some of the most basic configuration settings for your site: your site’s title and location, who may register an account at your blog, and how dates and times are calculated and displayed. You should definitely edit these settings. Go to → .
Enter the name of your blog here. Most themes will display this title, at the top of every page, and in the reader’s browser titlebar. WordPress also uses this title as the identifying name for your Syndication feeds.
In a few words, explain what your blog is about. Your blog’s slogan, or tagline, might be entered here. A tagline is short phrase, or sentence, used to convey the essence of the blog and is often funny or eyecatching.
Enter the full URL of the directory containing your WordPress core application files (e.g., wp-config.php, wp-admin/, wp-content/, and wp-includes/). For example, if you installed WordPress into a directory called blog, then the WordPress address would be http://example.com/blog (where example.com is your domain). If you installed WordPress into your web root, this address will be the root URL http://example.com. WordPress will trim a slash (/) from the end.
Enter the e-mail address to which you want WordPress to send messages regarding the administration and maintenance of your WordPress blog. For example, if you allow new users to register as a member of your blog (see Membership below), then a notification will be sent through e-mail to this address. Please note this is different than the address you supplied for the admin user account; the admin account e-mail address is sent an e-mail only when someone submits a comment to a post by admin. The address you enter here will never be displayed on the blog.
Anyone can register — check this checkbox if you want anyone to be able to register an account on your blog.
This pull-down box allows you to select the default Role that is assigned to new users. This Default Role will be assigned to newly registered members or users added via the → panel. Valid choices are Administrator, Editor, Author, Contributor, or Subscriber.
Select your UTC (Controlled Universal Time) timezone from the drop-down box. Unfortunately, you have to manually update this for Daylight Savings Time. Lame, we know, but it will be fixed in the future. Timezone represents the number of hours by which your time differs from the displayed UTC time. This will ensure that your articles and blog maintain and display the correct time. This is useful when you and your server are in different time zones. For example, if you were living in Tahiti (Lucky you :) ), then you would select “UTC -10” in the pulldown box. Use UTC -5:30 if your timezone differs by 5 hours and 30 minutes. You can use Time and Date to look up your offset from UTC.
The format in which to display dates on your blog. The Date Format setting is intended to be used by theme designers in displaying dates on your blog, but does not control how the date is displayed in the Administrative panels (e.g. ). Some common choices are available as radio buttons, or a custom date format can be constructed using template tags.
The format in which to display times on your blog. The Time Format setting is intended to be used by theme designers in displaying time on your blog, but does not control how the time is displayed in the Administrative panels (e.g. Add New Post edit of timestamp). Some common choices are available as radio buttons, or a custom time format can be constructed using template tags.
Select your preferred start date for WordPress calendars from the drop-down box. Monday is the default setting for this drop-down, meaning a monthly calendar will show Monday in the first column. If you want your calendar to show Sunday as the first column, then select Sunday from the drop-down.
The control the interface you use when writing new posts. These settings control WordPress’s features in the / SubPanels, as well as the optional functions like Remote Publishing, Post via e-mail, and Update Services. Go to → to edit these settings.
Choose how large, in number of lines, you want for the post content textbox. Selecting a size does NOT limit the size of the actual post; if you write a post that is longer than the size of the textbox, the textbox will generate a scrollbar. A small textbox means everything will fit nicely on your screen, a large textbox means you won’t have to scroll as much when writing longer posts.
You can use these checkboxes to control some of your blog’s formatting:
Convert emoticons such as :-) and :-P to graphics on display — checking this tells WordPress to convert all of the emoticons in your posts into graphical smilies.
WordPress should correct invalidly nested XHTML automatically — checking this helps make sure that what you write in your posts is valid XHTML code. You should probably check this box since invalid code sometimes causes problems with web browsers.
Some Plugins may not work correctly when this feature is turned on.
The Category you select from this drop-down is called the default post Category. The default post Category is Category assigned to a post if you fail to assign any other Categories with writing your posts. If you have several Categories, but use one of those Categories more frequently, select that Category here to make your life a little easier.
The Category you select from this dropdown will be the default Link Category checked when you create new Links. If you have several Categories, but assign one Category more frequently to Links, select that Category.
To post to WordPress from a desktop blogging client or remote website that uses the Atom Publishing Protocol or one of the XML-RPC publishing interfaces you must enable them.
Checking this enables the Atom Publishing Protocol.
When checked, enables the WordPress, Movable Type, MetaWeblog and Blogger XML-RPC publishing protocols.
With this option, you can set up your blog to publish e-mails as blog posts. To do this, you would send an e-mail to a specific address you’ve established for the purpose. More than likely, you will need the help of your web host and/or your e-mail provider. This feature is 100% optional; you can still publish posts from the SubPanel if you don’t want to post via e-mail. The Blog by e-mail article in the Codex describes this feature in greater detail.
This message is displayed at the beginning of this section: “To post to WordPress by e-mail you must set up a secret e-mail account with POP3 access. Any e-mail received at this address will be posted, so it’s a good idea to keep this address very secret.”
Complete the following fields to post by e-mail:
A mail server receives e-mails on your behalf and stores them for retrieval. Your mail server will have a URI address, such as mail.example.com, which you should enter here.
Servers usually use port 110 to receive requests related to e-mails. If your mail server uses a different port, enter that port number here.
If, for example, the e-mail address that you will be using for the writing by e-mail feature is <wordpress@example.com>, then wordpress is the Login name.
Enter the password for the above e-mail address here. Three possible passwords are displayed by WordPress in the introduction section of this panel.
WordPress will assign this Category to all of the posts published via the Post by e-mail feature. Note: You can create new Categories in → .
Press This is a bookmarklet that allows easy blogging of Web content. It provides the ability to excerpt text from an online article, embed photos and other media files, and publish to you blog with links back to the source material. To use Press This, drag the link to your browser’s bookmarks toolbar. Then, when you want to blog about a particular site you’re on, click the link in your toolbar and the Press This popup window will appear.
When you publish a new post, WordPress automatically notifies the update services of the sites listed in the box. For more about this, see Update Services on the Codex. When entering services, separate multiple URIs with line breaks. If your Blog Visibility (in → ) is set to “I would like to block search engines, but allow normal visitors”, the message “WordPress is not notifying any Update Services because of your blog’s privacy settings” is displayed.
These options are few in number, but still important. You can decide if you want your chronological posts or a “static” Page displayed as your blog’s front (main) page. You can also adjust how many posts are displayed on that main page. In addition, you can adjust syndication feed features to determine how the information from your site is sent to a reader’s web browser or other applications. Go to → to edit these settings.
Use this setting to determine if your posts or a “static” Page displays as your blog’s front (main) page. This setting displays only if you have one or more Pages defined. Please note static front page plugins and other “posts display” control/restriction plugins may affect how these features work!
Check to radio button so your latest posts are displayed on the blog’s front page. Remember, the number of posts you display is controlled by the “Blog pages show at most” setting.
Check this radio button to cause a “static” Page to be displayed as your blog’s front page. At the same time, choose the Page that will display your actual Posts. The Front page and Posts page cannot be the same value.
Select in the drop-down box the actual Page that you want displayed as your front page. If you do not select a choice here, then effectively your blog will show your posts on both the blog’s front page and on the Posts page you specify. If you would like to create a static home page template file, do not name it home.php, otherwise you will encounter problems when you try to view the “blog”/“posts” section of your site. To get around this, just name it anything but home.php, for example, myhome.php
Select in the drop-down box the name of the Page that will now contain your Posts. If you do not select a Page here, your Posts will only be accessible via other navigation features such as category, calendar, or archive links.
X postsEnter the number the number of posts people will see when they download one of your site’s feeds.
Determines whether or not the feed will include the full article or just a summary.
Click this radio button to include the full content of each post.
Click this radio button to include a summary of the post. This could save bandwidth.
Enter the character encoding to set the choice of languages in which you, the other authors, and your commenters, can write. The default (and safe choice) is “UTF-8”, as that encoding supports a wide variety of languages. If you wish to use some other character encoding (for example you have imported or will import articles written using a different character encoding) then specify that here. Caution should be used when changing this field as it may change the way information is displayed on your blog. For a more in depth article on character encoding see Character encoding at Wikipedia.
These settings allow you to set the options concerning comments, pingbacks and trackbacks (also called discussion). It is here the administrator decides if comments are allowed and/or require moderation, if pingbacks and trackbacks are acceptable, and what constitutes Comment Spam. On this screen you also control the circumstances under which your blog sends you e-mail notification of certain events at your site.
These settings may be overridden for individual articles.
If you check this box, WordPress will send out a ping to a site or article you have linked to in your post. Your mention of their site or article will show up in the comment section of their site, if that site allows pingbacks. The notfication occurs during the process of publishing your article to the internet. An article with many hyperlinks will slow the posting process as WordPress contacts all of the sites before the post is published.
Check this box so WordPress to accepts or declines the pings from other sites which may reference your site or an article on your site. If this box is checked, pingbacks and trackbacks will appear in the comments section of your posts.
Check this box if you wish to allow comments to your posts. Remember that this can be overridden for individual articles. Comments can also be controlled by making an article PRIVATE, which requires the appropriate password before a comment is allowed. If you don’t wish to allow comments uncheck this setting.
Check this box as a way to force spammers to do a bit of extra work. In reality, the name and e-mail address are not verified in any way prior to the comment being submitted. Most legitimate commenters are more than willing to fill out a name and e-mail address.
If this checkbox is checked, only logged in registered users will be able to write comments on your site.
X daysCheck the box and enter the number of days (e.g. 14 days) after which WordPress will automatically flag eligible posts so that no more comments are accepted.
X levels deepCheck this box to enable threaded comments, then from the drop-down box, select the number of levels deep (maximum of 10 levels) you will allow for nested comments. Note that themes need to be specially coded to properly display threaded comments.
X comments per page and the [last/first] page displayed by default. Comments should be displayed with the [older/newer] comments at the top of each pageCheck this box to cause comments to display in a paginated format with the specified number of comments per page. In addition, specify if the pages should be ordered “first to last” or “last to first”, and within each page, whether the oldest, or newest, comment is to be displayed first.
These two settings give you control of when you (or your authors) receive an e-mail in regards to comments about articles.
Check this box so that every single comment posted will generate an e-mail to the author of that post. Be warned that if your posts receive a large number of comments, you (or your authors) may find a very full e-mail Inbox. If you wish to micromanage comments, then by all means, activate this setting by checking the box.
Check this box if you want WordPress to send notification that a comment is being held for moderation. The e-mail notification is sent to the E-mail address listed in the → SubPanel. This is useful if your blog has multiple authors and each author is authorized to allow or decline comments. That way, you, the owner of the site, can review what comments are being allowed or denied.
These settings provide you even more control over the instances of when and how comments are posted.
Select this option to force comments to be approved by a blog user or owner having the proper Role to approve comments, even if the comments appear to be spam. See the the section called “Comment Moderation” below regarding spam.
Check the box to insure comments are only posted if the comment author’s e-mail address matches the address of a previously approved comment, otherwise, the comment is held for moderation. Comments from blacklisted e-mail addresses (those listed in the Local Spam Words Text Box) are held for moderation regardless of whitelist status.
In the Comment Moderation section you specify these options to help you deal with Comment Spam.
X or more links (A common characteristic of comment spam is a large number of hyperlinks.)Not too long ago, comment spammers would have five, ten, or more hyperlinks in their comment spam. This made it very easy for bloggers to quickly screen comments but spammers recognized that and commonly use only one or two hyperlinks. You can enter a number in this box to tell WordPress how many links you allow in a comment before holding it for moderation.
In this text box you can add your own spam words which will filter the comments when posted. For an extensive and updated list of frequently used spam words and phrases click the link to the article on Spam Words; consider adding these to your own list.
One word or IP per line. It will match inside words, so “press” will match “WordPress”. This text box acts the same as “When a comment contains any of these words…” except comments which match these words will be deleted without warning. You may want to use this as a last resort, as genuine comments can end up being deleted.
An avatar is an image that follows you from weblog to weblog appearing beside your name when you comment on avatar enabled sites. Here you can enable the display of avatars for people who comment on your blog. By default WordPress uses Gravatars (short for Globally Recognized Avatars) for the pictures that show up next to comments. Plugins may override this.
Check this radio button to suppress avatar display in comments.
Check this so comment author avatars are displayed along with the comments.
This setting controls (or limits) the “highest” level or rating of gravatar you allow to be displayed.
Suitable for all audiences
Possibly offensive, usually for audiences 13 and above
Intended for adult audiences above 17
Even more mature than above
These settings control basic aspects of media display. Go to → to adjust these settings.
This setting determines where images, documents, and other media files will be linked to when inserted into the body of a post. Check the appropriate radio button for None, Post URL, or File.
The sizes listed determine the maximum dimensions in pixels to use when inserting an image into the body of a post. You can enter specific dimensions according to your preferences.
Enter the Width and Height
check box
Enter the Max Width and Max Height
Enter the Max Width and Max Height
Check approriate radio button for Auto, Thumbnail, Medium, Large, or Full size
The control your blog’s visibility to search engines, such as Google and Technorati. You can decide if you would like your blog to be visible to everyone, including search engines (like Google, Sphere, Technorati) and archivers, or not. If you don’t want your blog available to the search engines you can block search engines, but allow normal visitors to see your site. Go to → to adjust these settings.
Check this radio button so WordPress does not restrict search engines.
Check this to cause search engine spiders to ignore your site and to stop pings to ping-o-matic and any other RPC ping services specified in the Update Services area of → . Checking this option will Hide the Update Services option entirely on the → screen with the message “WordPress is not notifying any Update Services because of your blog’s privacy settings.”
By default WordPress uses web URLs which have question marks and lots of numbers in them, however WordPress offers you the ability to create a custom URL structure for your permalinks and archives. This can improve the aesthetics, usability, and forward-compatibility of your links. Go to → in the main menu to edit the default permalink format.
Check one of the radio buttons corresponding to choose from some common permalink structures for your blog:
An example of the default structure is http://example.com/?p=123
An example of the day and name based structure is http://example.com/2008/03/31/sample-post/
An example of the monthe and name based structure is http://example.com/2008/03/sample-post/
An example of the numeric structure is http://example.com/archives/123
In the box specify the custom structure you desire to use. One example is /archives/%year%/%monthnum%/%day%/%postname%/
Look at the Using Permalinks article in the Codex for further discussion of Permalink Structure Tags.
You may enter custom bases for your category and tag URLs here. For example, using /topics/ as your category base would make your category links like http://example.com/topics/uncategorized/. If you leave these blank the defaults will be used. Again, see the Using Permalinks article for further discussion of Permalink Structure Tags.
Enter a custom prefix for your category URLs here.
Enter a custom prefix for your tag URLs here.
WordPress has so many features, that some of them defy categorization. The file upload, links update tracking, and support for custom “hacks” features can be controlled from this screen. Go to → to edit these settings.
Default settings used for during the media upload process when writing a post.
Enter the folder (directory) to where you want to upload files with the → Upload function. You must enter a folder relative to your WordPress address (URI) folder. WordPress suggests an upload directory of wp-content/uploads. Use the suggestion, or modify it to a relative path of your choice. If your wp-content folder is writeable, WordPress will automatically create this folder when you do the first upload using the → media uploader function.
Enter a URL path to your uploaded files. This is optional only if the setting “Store uploads in this folder” remains at its default value of wp-content/uploads. Otherwise it must include the full path to the upload file directory that a browser would see.
Check this box if you wish to organize your uploads into folders based on the year and the month of the upload. Assuming that you have specified wp-content/uploads as your upload storage folder, if you check this box, a file uploaded in February of 2009 would be placed into the wp-content/uploads/2009/02 folder.
At the time of the actual upload, WordPress will automatically create the folders, such as wp-content/uploads/2009 and wp-content/uploads/2009/02, as long as your wp-content folder is writeable.
Check this checkbox to activate WordPress’ link tracking feature. Blogs owners can report to some central location when they have updated their site. WordPress can do this automatically for you (see the section called “Update Services”). WordPress can then compare your links, ( → ) with this central location to determine if any of your links have been recently updated.
Check the box to use the file, my-hacks.php, to modify the content or presentation of your blog. It is designated in this SubPanel as “legacy support” because this functionality has been replaced by WordPress’ support for Plugins. However, my-hacks.php is still used by many people for small Hacks. If you want to use this file, you must enable support for it here by checking the checkbox.
If you set up this blog, then when you logged in, you were greeted with, “Howdy, Admin!” The admin is the default user name as well as the role. WordPress has five pre-defined Roles: Administrator, Editor, Author, Contributor, and Subscriber. Each Role is allowed to perform a set of tasks called Capabilities. There are thirty Capabilities including publish_posts, moderate_comments, and edit_users. The Capabilities are pre-assigned to each Role.
The Administrator Role is allowed to perform all possible Capabilities, including managing other users. Each of the other Roles has a decreasing number of allowed Capabilities. If you are going to be the only person using your blog, then you don’t need to create any additional users, and can just edit your profile. If you will have multiple authors, though, you’ll need to set up your additional users. As the blog owner, you should be an Administrator. You may choose to give the admin role to others who will help you maintain the blog, but be aware that once you do, they have equal power and can even delete you as a user. Be very cautious about giving someone admin access to your blog, and take advantage of the other roles that are available.
If someone has added you to an existing blog, that person will have defined your role.
Somebody who has access to all the administration features
Somebody who can publish posts, manage posts as well as manage other people’s posts, etc.
Somebody who can publish and manage their own posts
Somebody who can write and manage their posts but not publish posts or upload media files
Somebody who can read comments/comment/receive newsletters, etc.
Users will see diminished menu options when they are logged in based on their capabilities. For example, an Administrator will see the same menu you do, but an Author will not see the menu sections for functions they are unable to use, such as changing the blog appearance or adding new users.
Adding a new user to your blog is very easy. Go to → in the main menu. Enter a username for the person, his/her name, email address and the role you want to assign. You will also enter a password, which can be changed when the new user logs in. The new user will receive an email announcing the creation of the account, but you will need to provide the username and password.
You should take a moment to edit your profile, where you can specify your name and how it will be displayed on your site, your e-mail address (for administrative purposes), other personal information, and personal options. You can access your profile several ways. 1. Your name, linked in the upper right of the screen. 2. → in the main menu. 3. → then click on your name in the table. Each of these ways takes you to your profile screen.
The only pieces of information WordPress requires you to include in your Profile are your e-mail address and a nickname. It should be noted that WordPress requires your email address only for your blog’s administration purposes. The e-mail address is never sent to any other site (not even to the people at WordPress headquarters), and it is never displayed on your site (unless you put it there manually). Only the other registered users of your blog have access to the e-mail address you provide.
It is possible for a theme to display your e-mail address (and the e-mail addresses of your other registered users) on your site, since the the_author_email template tag can be used for such purposes. This would be a poorly conceived theme, however, if it didn’t inform you of that before you downloaded it. Neither of the themes included with WordPress display any e-mail address anywhere on your site by default.
All of the other fields for personal information in your profile are optional, and, again, it is never sent to any other site or person. It may be displayed on your site, however, depending on the theme you use, so you should test things out with your particular theme if you’re at all nervous. Typically, themes only display publicly the information you enter in the Display name field.
Checking this box Disables the visual editor when writing, and uses the plain HTML editor. Note that this checkbox changed at Version 2.7, as before you checked the box to enable the visual (WYSYWIG) editor.
Check the radio button next to the color scheme you’d like to use in the admininstrative panels. The choices in WordPress 2.7 are Blue and Gray, with Gray being the default palette. Each color scheme comes with its own set of unique icons.
Checking this box Enables keyboard shortcuts for comment moderation. Keyboard shortcuts are designed to allow you to rapidly navigate and perform actions on comments, which are described in the Comments chapter.
You cannot edit your Username because it is used as your Username during the login process. Even an Administrator cannot change your Username. Usually, no one else ever needs to see your Username.
Enter your first name in this text box.
Enter your last name in this text box.
Enter the nickname as it is a required for every user. It may be the same as your User Name or it can be different. If you don’t supply a Nickname, then the User Name will be placed in this field.
Select from the drop-down, how your name should be cited on your blog. You can choose from several of the above pieces of information: Nickname, Login name, First Name, Last Name, “First Last”, or “Last First”. If you prefer “Last, First,” insert a comma after your last name in the Last Name text box above and choose the last option from this dropdown.
All users are required to list an e-mail address in their respective Profiles. Your blog will use this address to notify you of new comments to your posts and for other administrative purposes. To reiterate what was said above, only other registered users of your blog will have access to this e-mail address. It is never sent anywhere.
Enter your website address. If you supply nothing, then the field will default to just http://.
Enter your AIM screen name here.
Enter your Yahoo Messenger ID here.
Enter your Jabber / Google Talk name here.
Enter a short description or profile of yourself here. This optional information is not displayed by either the default (Kubrick) Theme or the classic Theme included with WordPress. However, these themes could be customized to display this description. Also, other themes available for download may automatically display this information.
Enter your password twice, once in each of the two text boxes. Leaving these text boxes blank will keep the password you are currently using.
This indicates if the password you entered is Very Weak, Weak, Medium, or Strong (displayed in green). The stronger the password the more secure your login. Hint: Your password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like !"?$%^&).
Remember to click the Update Profile button to save the changes you have made to your Profile and Personal Options. After clicking this button you should see a splash message at the top of the screen saying “User Updated”. If you don’t see that message, then your changes are not saved!
When you’ve been using your blog for a while, you may want to perform additional user management tasks. Go to → in the main menu and you will come to a screen that lists all the blog’s current users in a table. The table of Users contains the following columns:
Check this box if this user is to be affected by the Bulk Delete or Change User Role functions. There is also a checkbox in the column header to the left of the text Username—click that checkbox to cause all Users to be checked.
Avatar for this particular user.
The login of the User. To edit a User, click on the Username link, the User’s Profile will then display for you to make the necessary changes. Also note that if you hover the mouse anywhere over the whole row for a particular user, the Edit and Delete links will appear. The current logged in user will not see the Delete link appear when hovering over his/her own username (i.e., you can’t delete yourself).
The first and last names of the User.
The User’s e-mail address.
The Role assigned to that User.
The number of Posts written by that User. Click on that number to be directed to the screen to view or edit the Posts written by this User. All users have a unique identification number which WordPress uses to identify users internally. To determine that User ID, hover the mouse over the Posts number link, and the User ID (author=X) will be revealed as part of the URL in the browser status bar.
At the top right of the User Table is a search box to help find users. Enter a string in the box and click the "Search users" box. Any User that contains the search string in the Username, Name, E-mail, or Website fields will be displayed, by Role. You can then add, change, or delete those users. A “No matching users were found!” message will be displayed if no Users can be found that match the search string you entered.
Just above the User Table, are filter links to All Users, and to links to Users belonging to the each of the various Roles. Clicking on one of those links, say Subscribers, will display all the Users assigned the Subscriber Role. Click on All Users to again display all the Users in the table.
At the top and bottom, of the table is the Bulk Actions dropdown menu. In this particular screen, only the Delete action is allowed. Any User that has the checkbox (left of User Image/Username) checked will be deleted when the Delete button is clicked. On clicking the Delete button, a Delete Users panel will display with a message “You have specified these users for deletion:” with a list of the Users you are deleting with the following question: What should be done with posts and links owned by this user?
Check this radio button and click the Confirm Deletion button to delete the User(s) as well as any posts and links attributed to those User(s).
Check this radio button, select a User from the adjacent drop-down box, and click the Confirm Deletion button to attribute all the posts and links for the Deleted User(s) to the User you selected in the pulldown box. Upon successful completion of the deletion process, a splash message box near the top of the panel will display “x user(s) deleted”.
To the right of the Action dropdown menu is the “Change role to” dropdown menu . Select a Role, and all the Users that have the checkbox (left of Username) checked will be changed to that Role upon clicking the Change button. Upon successful completion of the changes, a splash box with the message “Changed roles.” will display.
Once your blog is set up, it’s time to start creating your own original content. With WordPress 2.7 you can create Posts (what most people think of when they think of blog content), Pages (for static content, such as an “About Me” page), Media (you can upload images, videos, audio files and documents and create galleries), and Links (blogrolls or lists of relevant sites to show in your sidebar). In addition, Comments are content that is attached to a particular post, page or media file and is created by either your readers or you (often in reply to a reader comment). You can use all of these content types or only some of them; it’s up to you. This section will outline how to create and manage your content using WordPress.
If you want to begin by importing existing content from another blog, please see the section called “Importing Files”
Creating a new post is very simple, though there are more advanced options available should you want to use them. At its simplest, creating a post requires you to go to → from the main menu (or click New Post button in the dark header area of the screen), enter a title and some text, and click Publish. Each of the modules available on the post creation/editing screen is described below.
The title of your post. You can use any words or phrases. Avoid using the same title twice as that will cause problems. You can use commas, apostrophes, quotes, hypens/dashes, and other typical symbols in the post like “My Site - Here’s Lookin’ at You, Kid.” WordPress will clean it up for the link to the post, called the post-slug.
After you save your post, the Permalink below the title shows the potential URL for the post, as long as you have permalinks enabled. (To enable permalinks, go to → .) The URL is generated from your title. In previous versions of WordPress, this was referred to as the “page-slug.” The commas, quotes, apostrophes, and other non-HTML favorable characters are changed and a dash is put between each word. If your title is “My Site - Here’s Lookin’ at You, Kid”, it will be cleaned up to be “my-site-heres-lookin-at-you-kid” as the title. You can manually change this, maybe shortening it to “my-site-lookin-at-you-kid,” by clicking the Edit link that appears to the right of the permalink.
The big blank box where you enter your writing, links, links to images, and any information you want to display on your site. You can use either the Visual (WYSIWYG) or the HTML view to compose your posts and enter text. If you are not experienced with HTML, you may want to start by using the Visual Editor, which uses the familiar icons common to word-processing software to format your post. In addition, WordPress is smart enough to convert character smileys like “:)” into the graphical image counterparts.
A small row of icons to the left of the Visual/HTML tabs launch the media uploader, which allows you to upload media into your post or embed it from a third-party site such as YouTube. If you have inserted media into the post, you can click on the image in the Visual editor to get additional editing options such as resizing and aligning the image, or to delete the image. For more information on the media uploader, skip ahead to the section called “Uploading Media Files”. At the bottom of the Visual editor, the word count of the post is displayed, as is the last time the post was saved (including autosaves).
The above elements are in a fixed position on the screen and cannot be moved. Other modules on the screen, however, can be rearranged, collapsed/expanded or hidden using the Screen Options tab as you see fit. If you drag all the modules from the right column into the center, the center column will expand to take up the width of both columns.
Enter tags by typing them into the empty field. You can enter multiple tags at once using commas to separate individual tags. Click the Add button for tags to be added to the post. When tags are attached to the post, they will appear beneath the text input field, with a small gray X to one side. Click the X to remove a tag from a post.
The general topic the post can be classified in. Generally, bloggers have 7-10 categories for their content. Readers can browse specific categories to see all posts in the category. To select a category/categories for the new post, just check the box(es) next to the category in your list. To add a new category, click the +Add New Category link in this section. You can view all categories or your most used categories in this module. If you have not specified a default category, the post will be marked as “uncategorized.”
A summary or brief teaser of your posts featured on the front page of your site as well as on the category, archives, and search non-single post pages. Note that the Excerpt does not usually appear by default. It only appears in your post if you have changed the index.php template file to display the Excerpt instead of the full Content of a post. If so, WordPress will automatically use the first 55 words of your post as the Excerpt or up until the use of the More Quicktag mark. If you use an Explicit Excerpt, this will be used no matter what. Just type the text you want to use as an excerpt into the text box.
A way to notify legacy blog systems that you’ve linked to them. If you link other WordPress blogs, they’ll be notified automatically using pingbacks. No other action is necessary. For those blogs that don’t recognize pingbacks, you can send a trackback to the blog by entering the website address(es) in this box, separating each one by a space.
Options to enable interactivity and notification of your posts. This section hosts two check boxes: Allowing Comments and Allowing Pings. If Allowing Comments is unchecked, no one can post comments to this particular post. If Allowing Pings is unchecked, no one can post pingbacks or trackbacks to this particular post. Check the boxes to allow comments and/or pings. If comments or pings have come in for this post, they will appear in this module, and may be moderated here or from the screen.
Custom Fields offer a way to add extra information to your site. In conjunction with extra code in your template files or plugins, Custom Fields can modify the way a post is displayed. These are primarily used by plugins, but you can manually edit that information in this section. Learn more about custom fields in the Codex.
A list of all blog authors you can select from to attribute as the post author. This section only shows if you have multiple users with authoring rights in your blog.
This module lists versions of your post that have been saved in the database. You can click the radio buttons to choose previous versions of the post to compare the edits that have been made. Once viewing a comparison, you will have the option of changing versions using a dropdown menu, or reverting to a previous version of the post.
The Publish module contains a variety of functionality related to the status of your post in addition to containing the buttons you will use to Save and Publish your work.
This element identifies the current state of your post. New posts are Unpublished until they are Saved, Submitted for Review, Scheduled or Published.
This element identifies who can see your post. The default state is Public, meaning the post can be seen by anyone. You can change the visibility of this post by clicking the Edit link to the right of the current status. Select Public, Password-protect, or Private using the radio buttons. Public posts may also be declared “sticky.”
Posts that are public may be seen by anyone who comes to your site. Normal posts are displayed in reverse-chronological order on your blog home page.
Checking this option will make the post “sticky,” meaning it will stay in the top position of your blog’s home page until you come back and uncheck the box. This is generally used when there is an important announcement you want to keep at the top of your home page even though you are creating newer posts.
You can set a password for the post, so that anyone coming to your blog will see the post title, but not the content of the post. Instead, they will see the message that the post is password-protected and be prompted to enter the password if they want to see the post. Be sure and write down the password and keep it in a safe place.
This element identifies the timestamp under which the post will be published. By default, posts are published immediately when you click the Publish button, but you can also schedule a post to be published in the future, or set the time back so that it appears to have been published in the past. Click Edit next to where it says Publish immediately, and then enter the time and date you want to use in the fields that appear. Click OK. If you have set a future publish date, the Publish button will change to say Schedule, since you are not technically publishing the post yet. The post will publish automatically when the defined date/time arrives.
Allows you to save your post as a draft rather than immediately publishing it.
Allows you to see how your post will look in your blog template before officially publishing it.
Publishes the post on your live site.
A Press This shorcut can be created by adding the Press This link to your favourites. You can grab the Press This link from any of these three locations in the application: 1. The Press This module on the New Post screen, 2. → in the main menu, or 3. → in the main menu.
You can set up your blog to accept post by e-mail. For information, see the section called “Post via e-mail” to learn more about Blog by E-mail.
You can post to your WordPress blog with tools like Windows Live Writer, Ecto, Bloggar, Radio Userland (which means you can use Radio’s e-mail-to-blog feature), NewzCrawler, and other tools that support the Blogging APIs. You can read more about XML-RPC support in the Codex.
Every Post in WordPress is filed under one or more Categories. Categories allow the classification of your Posts into groups and subgroups, thereby aiding viewers in the navigation and use of your site.
Each Category may be assigned to a Category Parent so that you may set up a hierarchy within the category structure. Using automobiles as an example, a hierarchy might be Cars->Ford->Mustang. In creating categories, recognize that each category name must be unique, regardles of hierarchy. Use a standard set of Categories to organize your content, similar to creating a table of contents to organize chapters in a book. The default category is “uncategorized,” unless you change it in your .
When using the WordPress Default Theme, Categories are shown in two different places on your blog. First, the Categories are listed as links in the Category section of your sidebar, and second, all the Categories to which a given post belongs are displayed under that post. When someone viewing your blog clicks on one of those Category links, a archive page with all the Posts belonging to that Category will be displayed.
To either add new categories or manage existing ones, go to Posts > Categories in the main menu. You can add new categories using the simple form on the left side of the screen. You can edit or delete categories using the table to the right. If you want to convert your categories into tags, use the converter found in Tools > Import.
Tags are the keywords you can assign to each post. Not to be confused with Categories, Tags have no hierarchy, meaning there’s no relationship from one Tag to another. But like Categories, Tags provide another means to aid your readers in accessing information on your blog. If categories act as your blog’s table of contents, think of tags as the words that appear in your site’s index.
When using the WordPress Default Theme, Tags are displayed under each Post those Tags are assigned to. Someone viewing your blog can click on one of those Tag links, and an archive page with all the Posts belonging to that Tag will be displayed.
To either add new tags or manage existing tags, go to → in the main menu. You can add new tags using the simple form on the left side of the screen. You can edit or delete tags using the table to the right. If you want to convert your tags into categories, use the converter found in → .
In addition to uploading or embedding media into a blog post, you can also upload media files without creating a post. This allows you to upload files to use later with posts and pages, to simply save media files in a central location, and to get a web address for a particular file that you can link to from elsewhere on the Web.
Uploading media from your local computer into the Media Library is quite simple. Go to → in the main menu. The screen will appear relatively empty, since it basically just contains a button to launch the media uploader. Two “uploaders”, Flash and Browser, are provided. If the Flash uploader doesn’t work or you are on a slow connection, then click the “Browser Uploader” link to use the Broswer uploader.
Your first prompt will be to choose files to upload. Select an individual file from the Select Files window, then click the Open button. A “Crunching…” message will display, and when the uploading is complete, the image and its related fields will be displayed. At that point you may edit and save the information about that file.
Uploading multiple files at once: After clicking the Select Files button, in the Select Files window, multiple files can be selected by holding down the Ctrl key and clicking on each file. After all the files are seleted, click on the Open button and all of those files will be uploaded.
Once the file(s) is uploaded, a Show or Hide button is displayed to the right of the Media. Clicking on Show will expand the Media and allow you to edit the Media information, and clicking on Hide will collapse the Media into a summary format.
If you click to Edit a media file, you will be able to edit the following fields:
Enter the Title of this Media. The Title will be displayed in the File column of the Media Library.
The caption for this Media. For image type Media, the Caption is also used as alternate text for that image.
A description for this particular Media.
Click the Save all changes to save the Media.
Click the Browse button, find and click the file to upload from the File Upload window, then click the Open button. The file name will be placed in the text box to the left of the Browse button. Once a file name is displayed in the text box to the left of the Browse button, click the Upload button to upload that file.
All the files you’ve uploaded are listed in the , with the most recent uploads listed first. In addition to text filters to display files by type (audio, images, etc.) there is a filter to display Unattached files. This filter will display a list of files you have uploaded directly into the library without creating a post.
A table lists all of your media files in rows, and contains the following columns:
There is no column heading for “File”, but a thumbnail of the actual image or a thumbnail representing the Media Type (audio, video, test, PDF, Doc) is displayed in this column.
Media is the actual name of the file.
The description of the Media you assigned at the time of upload.
Attached to describes the post or page and the date of that post or page. Click on the title of the post or page to edit that post or page.
The date the file was uploaded.
Hovering the mouse cursor over a row reveals the action links under the Name column, in that row. Clicking on a Media name will also initiate the Edit Action. The available Actions are:
Clicking Edit displays the screen to edit that individual file’s metadata.
Clicking Delete will delete the file from the Media Library (as well as from any posts to which it is currently attached).
Clicking View presents the file in your Theme.
The Attach link only appears for unattached files. Clicking Attach will launch a small popup that will allow you to search for a post and attach the file to that post.
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.
In general, Pages are very similar to Posts in that they both have Titles and Content and can use your site’s Templates to maintain a consistent look throughout your site. Pages, though, have several key distinctions that make them quite different from Posts.
Pages are for content that you want to be available all the time and navigable from anywhere on your site. Pages are not Posts, and do not cycle through your blog’s main page.
Pages can be organized into Pages and SubPages by selecting Page Parent when you create a Page.
Pages can use Page Templates that you can design to be the same or different from your regular blog post pages. Page templates can include Template Files, Template Tags and other PHP code.
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.
To create a new Page, go to → from the main menu. You will see an editor similar to the screen you use to create posts. Enter a title, text, add media and click Publish to create a simple page.
If you have more than one page, you will see a module labeled Page Order. You can select a numerical order for your Page to determine the order in which Pages are listed in your navigation or sidebar widget. By default, Pages will be listed in the order they were created.
Just as you can have Subcategories within your Categories, you can also nest SubPages beneath your Pages, creating a hierarchy of pages. To nest a Page under an existing Page, create a new Page or go to an existing Page in the Administration 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 a “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.
If you have Permalinks enabled, and you have selected the Day and Name option (Click the 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:
Create a Page by going to → and entering a title, text content, etc.
Click the Publish button to publish your page.
Go to → .
Find your Page in the table, and click on the title to edit the 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.
WordPress can be configured to use different Page Templates for different Pages. In the Page Template module of the Page creation/editing screen, there is a drop-down menu that allows you to 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 in the Codex to learn how to create one).
WordPress is able to automatically generate a list of Pages on your site, which could be displayed in a number of ways, depending on your Theme. If you are using a Theme that uses navigation tabs, your Pages will create tabs according to the Theme design. If you are using a Theme with a sidebar (such as the default Theme), you can use the Pages widget to generate the Page list in your sidebar. Go to → , click Add next to the Pages widget in the left column.
The Edit Pages screens provides allows you to manage all the Pages in your blog. Pages can be edited, deleted, and viewed. Filtering and searching make it easy to quickly find Pages matching certain criteria if you have a large number of Pages. Go to → to access these editing features.
Several powerful features allow Pages to be edited in bulk allowing fields such as Author, Parent, Template, Comments Allowed, Status, and Pings Allowed to be changed for a whole batch of Pages. In addition, the Quick Edit feature provides an easy method to change a multitude of values, such as Title, Slug, Date, and Author for a given Page.
At the top of this screen are links such as All, Published, Pending Review, Draft, Private, that when clicked, will cause just the Pages of that type to be displayed in the underlying Table.
Above the Table, to the right, is a search box where you can enter a word, or series of words, and click the “Search Pages” button to search and display all the Pages meeting your search words.
A table lists all of your Pages in rows. The Pages are listed with the newest Page first. The table contains the following columns:
This checkbox, when clicked (checked), “selects” that particular Page to be processed by a Bulk Action.
This is the Page’s Title displayed as a link. Click the Title link to allow this Page to be edited in the Pages Edit SubPanel. Next to the Title, if a Page is of a Draft, Pending, or Password Protected nature, text will display showing that.
This is not a column in the Table, but by hovering the mouse over the Page Title, the Page ID is revealed as part of the URL displayed in the browser status bar (in Firefox the status bar is displayed at the bottom of the screen). A Page’s ID number is the unique number WordPress’ database uses to identify individual Pages.
Displayed in the form of a link, this is the author who wrote the Page. Clicking the author link causes all the Pages authored by that user to be displayed in the Table of Pages (thus allowing a Bulk Action to be applied to all Pages for a given author).
A comment bubble is the column heading, and each Page row has comment bubble with the number of comments for that Page. If a Pages has any comments, then the number comments is displayed in a blue bubble. Clicking on a blue comment bubble causes the Comments Edit Comments SubPanel to be displayed to allow moderation of those comments.
The Date column for each Page shows the Date “Published” for Published Pages and the Date “Last Modified” for Unpublished Pages.
This screen allows Bulk Actions to be performed on one or more Pages selected in the Table. For Bulk Actions to be performed on multiple Pages at once, those Pages must be first selected using the checkboxes in the left column of the table. Select Edit or Delete from the Actions menu and click Apply.
If you are using the Bulk Edit feature, a layer will appear that lists the pages you’ve indicated along with the metadata that can be applied to selected pages. Bulk Edit allows Author, Parent, Template, Comments Allowed, Status, and Pings Allowed to be changed for all of the selected Pages. Click Cancel to cancel and abort the Bulk Edit of these Pages. Click Update Page to save the Bulk Edits made to these Pages.
Hovering the mouse cursor over the Page row reveals the Edit, Quick Edit, Delete, and View (or Preview, for unpublished pages) action links under the Title column, in that Page’s row.
Click on the Edit link or on the Page title to load the page editor for that particular Page.
Quick Edit allows inline editing of fields related to a specific Page, including Title, Slug, Date, Author, Password or Private page box, Parent, Order, Template, Allow Comments, Allow Pings, and Status.
Clicking Delete deletes the Page.
Clicking View presents the Page as it appears in a single Page view on your blog. If the page is not yet published, this link is replaced by Preview.
WordPress allows you to creates list of hyperlinks (sometimes known as a blogroll) to appear in your blog sidebar. You can create one list or many lists by using link categories to create specific link sets. By default, a sample link to the wordpress.org site is included in your WordPress installation to give an example of the kinds of information that might be entered when you create a new link. In the administration panel the Links section of the main menu contains three screens: Edit, Add New, and Link Categories.
To create a list of links, each one must be added individually. To add a new link, go to → from the main menu. The Add New Link screen, like the Add New Post and Add New Page screens, contains fields for entering information, and allows you to customize the screen based on the elements you find useful. The first three fields are the essential ones when creating new links, and are not able to hidden using Screen Options.
This is where the link points. Sometimes called a URL, this is the destination, or the site, you want to go to when you click the link. By default, the value of http:// is placed in the field to start you off.
You may optionally enter a description of your link here. How the description is displayed on your site depends on which theme you use. The default Kubrick Theme displays the description directly below the name of the link on your site, and the classic theme displays the description to the right of the name.
The modules for Categories, Target, Link Relationship (XFN), and Advanced, can be expanded or collapsed by clicking on the module title bar, can be moved using drag and drop, and/or can be hidden using the Screen Options tab. The fields in these modules are not required to create a new link, but can provide additional information and functionality.
Categories are displayed in a module box that allows selection of one or more Link Categories in which to associate a link. New Categories can also be added by simply typing that Category in the box and clicking the Add button.
Link Categories are completely separate from the Categories you use for posts.
This modules houses radio buttons that allow you to decide how the link’s destination is displayed when someone clicks the link. Note: Specifying anything but none will cause validation problems on your page. In this specific case, however, these validation problems will not cause problems for your viewers’ web browsers.
The destination will open in a new window.
If your site uses frames, this option could be handy. The destination will open in the current web browser window instead of the current web page frame. Don’t bother with this option if you don’t use frames, or if you don’t know what frames are; neither the default Kubrick nor the classic theme use frames.
The default option. This will open the destination in the current window (or the current frame if your site uses frames).
Do you want this link to be listed on your site or not?
The link will be visible (the default).
The link will not be visible.
XFN stands for XHTML Friends Network. WordPress allows for the generation of XFN attributes automatically so you can show how you are related to the authors/owners of site to which you are linking. XFN tags are an effort to add meaning to the connections (links) on the world wide web, and are gaining in popularity. See XFN Relationship Definitions for a list of available relationships.
When you add a new link you may specify in this section of the
SubPanel the relationship you share in real life with the author of
the page to which you’re linking. This will automatically add a
rel=" attribute to the HTML code for the link (where X"X is the
relationship you specify).
XFN relationships are optional for WordPress links. You can leave everything in this section blank and all your links will still work.
To specify your relationship, use the following.
Use this checkbox if the link is to another of your own websites. This relationship is exclusive of all others.
These radio buttons allow you to specify one of four different types of friendships:
Someone with whom you have exchanged greetings and not much (if any) more -- maybe a short conversation or two.
Someone with whom you know how to get in touch.
Someone you consider a friend. A compatriot, buddy, home(boy|girl) that you know.
Use this if you want to leave the friendship category blank.
Check the met checkbox if this is someone whom you have actually met in person.
These two checkboxes allow you to specify your professional relationship with the author of the link’s site.
Someone with whom you work or someone who works at the same organization as you.
Someone in the same field of study or activity.
Use these three radio buttons to specify how you relate geographically to the author of the link’s site.
Someone with whom you share a street address. A roommate. A Flatmate. A member of your family living in the same home.
A relative. Someone you consider part of your extended family.
our progenitor. Or someone who has adopted and takes care (or took care) of you.
Someone with whom you share a parent.
Someone to whom you are married.
Use this if you want to leave the family category blank.
Use these four checkboxes to define how you are “romantically” related to the author of the site.
Someone who brings you inspiration.
Someone on whom you have a crush.
Someone you are dating.
Someone with whom you are intimate and at least somewhat committed, possibly exclusively.
Descriptions of the XFN relationships were modified from those found at the XFN Getting Started page.
An XFN Example: Suppose a friend of yours whom you have met in
real life owns the site http://example.com. When you add that
site to your list of links, you can specify that the owner of that
site is a friend, and that you have met in real life. The link that
is created will be of the form <a href="http://example.com"
rel="friend met">Example</a>. This link works just the same as a
normal link, but contains extra information about your relationship
to the site.
The following controls allow more advanced manipulation of your links.
You can specify a URL of an image to associate with the link. What WordPress does with an image depends on settings defined by the link’s category (see Manage Categories SubPanel).
RSS is a form of Syndication. If you are linking to a site with an RSS feed, you can enter the feed URL here. Again, what WordPress does with this depends on your theme’s template files. Currently, neither the Kubrick Theme nor the classic theme displays the RSS URL.
Notes to yourself concerning the link.
You may chose to rate a link from 0 to 9, where 0 implies that the link is unrated. What the rating system actually defines on your site is up to you to decide.
Click the Add Link button to ensure you saved your Link to the database. Once you click the button, a confirmation text box will appear at the top of the page telling you “Link Address”.
Click this checkbox to keep the Link private. This will make the link not visible when Links (Blogrolls) are displayed on your site.
The Edit Links screen allows you to manage the various links previously added to your blog. Individual links can be accessed to edit the information about that particular link. Search and filtering ability is also provided to allow you to find desired Links. Above the table in the upper right is a search box where you can enter a word, or series of words, and click the “Search Links” button to search and display all the links that include your search words. You can use the dropdown menus at the top of the table to show only links in a particular category or to change the sort order of the table. Multiple links can be selected for deletion.
Links are displayed on this screen as rows in a table with the following columns. You can choose to hide any of these columns by accessing the Screen Options tab in the upper right and unchecking any column you don’t wish to see.
The name (in bold) of the link and its description.
The destination URL (Web Address) of the link.
All links must belong to one link category. The category to which that link is assigned is shown here.
This column displays all of the XFN relationships for this link.
Whether or not the link is visible on your site.
Hovering over a row will display the actions you can perform on this link. You can edit any of the properties of a specific link, or you can delete it. Mass actions such as mass deletion are performed by checking the boxes next to the items you wish to delete, choosing from the Actions menu and clicking Apply.
Each Link in WordPress is filed under one or more Link Categories. This aids in navigation and allows Links to be grouped with others of similar content. In creating Link Categories, recognize that each Link Category name must be unique, and that Link Categories are separate from the Categories used on your posts. If you are using the WordPress Default Theme (one of the two themes delivered with WordPress), Links are shown, grouped by Link Category, in the sidebar. This screen allows you to create new Link Categories, and edit or delete existing ones.
On the left side of the screen is the Add Category form, which allows you to create a new Link Category. There are three pieces of information associated with each new Link Category: the name, the slug, and the description.
This is the name that will be displayed in the sidebar above the links within this link category. To reiterate, the Link Category name must be unique.
The slug is the segment of the URL that will define this Link Category. This is the equivalent of editing a permalink on a post. Again, the Category slug must be unique.
Category descriptions are optional. Some themes take advantage of Link Category descriptions while others do not, so having descriptions may change the way Link Categories are displayed for your site. Even if Link Categories are not used by your site’s theme, you may still find them useful from an administration point of view.
This is the most important part of the Add Category process. Once you’ve entered in all the information about your new Link Category, use this button to save it. The new link category will appear in the table to the right.
On the right hand side of the screen is a table that lists all of your Link Categories by row. Link Categories are displayed alphabetically. The table of Link Categories contains the following columns:
The name of the Link Category. Remember, each name must be unique. Click on the Name to edit the Link Category.
Link Categories may have an optional description.
The number of Links which are members of the Link Category. Click on the number in the Links column to be directed to the Edit Links SubPanel to manage the Links in that Category.
Shows the custom slug if you have entered one.
The Screen Options tab allows you to choose which columns are displayed, or not displayed, in the underlying table. Clicking on the Screen Options tab shows a list of the columns with a check-box next to each column. Check the box for each column you want displayed in the Table, or uncheck the box to not display that column. Click the Screen Options tab again to close the Screen Options.
Hovering the mouse cursor over the Link Category row reveals the Edit, Quick Edit, and Delete action links under the Name column in that Link Category row. Clicking on a Link Category Name will also initiate the Edit Action. The available Actions are described are:
Clicking Edit displays the Edit Link Category screen to edit individual Link Category fields. This action can also be initiated by clicking on the Link Category name. The editing screen will allow you to edit the name, the slug, and the description.
Clicking on Quick Edit will reveal a layer that allow inline editing of fields currently displayed in the table for that Link Category. Click save to submit changes, or cancel to discard changes and close the editing layer.
This Action deletes the Link Categories files. Delete is available only as a Bulk Action.
Deleting a category does not delete the links in that category, but the links that were only assigned to the deleted Category are set to the Default Link Category as defined in the Settings Writing SubPanel.
You can also use the checkboxes in the far left table column to select multiple link categories for deletion. Check the boxes of the categories you wish to delete, select Delete from the Actions menu at the top of the column, and click Apply.
Table of Contents
Managing your comments and pings requires the use of two screens. Going to in the main menu provides you access to all comments that have been left on your site. Here you can approve/unapprove, edit, mark as spam or delete individual comments, search for specific comments, view all comments by a single author/IP or all comments on a specific post, filter by status, or perform bulk actions such as bulk deletion or marking as spam. The other screen is your screen. You’ll have set your basic discussion settings when you set up your blog, but as time goes by you may decide to change your settings. This is especially common if your blog starts to attract spammers or people who leave unproductive comments, leading many bloggers to turn on various moderation options for comments. You can add or edit these moderation rules at any time by going to → in the main menu. This screen also allows you to determine the rules for the display of comments on your blog, including comment threading and paging, new features in WordPress 2.7 that can be helpful when you receive a large number of comments.
The screen is actually the home of comments, pingbacks and trackbacks, but since they are all ways in which people comment on your content, they are grouped together for management purposes on the screen. A Comment is something someone leaves on your actual site by entering text in the comment form that appears with your posts and pages. Pingbacks and Trackbacks are comments that people make about your content, but that they post on their own blogs instead of leaving a comment on yours. Pingbacks and Trackbacks are similar in intent, but differ in technical execution. For the sake of simplicity, WordPress refers to “Pings” as including both Pingbacks and Trackbacks.
On the screen in the administration panel, a table displays the twenty most recent comments and pings. If you have more than twenty, pagination appears at the top and bottom of the comments table. Most recent comments are shown on page 1, with subsequent pages showing older comments. As you moderate comments, if you delete any or mark any as spam, new comments will appear on page 1, so that there are always 20 comments showing. By default, this table shows the “All” view, which includes comments of all states and types. If you prefer to see only certain states (such as pending moderation) or types (such as only showing pings, not comments that have been left on your actual site), you can use the filters at the top of the screen. If you have turned on comment moderation, pending comments (those that are awaiting moderation) will be highlighted in yellow.
The comments table includes a significant amount of information. In the left column, the author’s avatar, name, URI, e-mail address and IP address are shown for Comments. Clicking on the IP link will show you all comments left from that IP address. Clicking the e-mail will launch your e-mail program with a message to that person. Clicking the URI will open that web site. For Pings, the left column shows the name of the blog and post title, and the blog URI.
The right column shows to which blog post or page the comment
was submitted. The post title links to that post within the
administration tool for easy editing of the post. The number of
comments displayed after the post title links to filter the
comments screen to list only comments on that post. The # links
to the live post’s permanent URI.
In the middle column, the comment text is displayed (for pings, an excerpt is shown). Above each comment is the date and time it was submitted, which provides a permalink to the comment on your blog. Hovering over a comment row will cause a set of action links to display below the comment text. These links are:
If moderation is turned on, comments that are pending your approval to be displayed on your site will show this link. Clicking Approve will make the comment appear on your site.
If you do not use moderation, if you have settings that pre-approve certain comments, or if you have already approved a comment, this link will show. Clicking Unapprove will reverse the approval and change the comment’s state to Pending. The yellow background of pending comments will appear.
Clicking Edit will take you to the editing screen for that comment, where you can edit the comment text, author name, URI, e-mail address or status of the comment. Click Save to confirm your changes and return to the comments table. You should see your changes reflected in the table.
Clicking Quick Edit will reveal a layer that allows for inline editing of visible table fields. Click Save to confirm changes, or Cancel to close the layer without committing any changes.
Marking a comment as spam will remove it from the default table view. These comments may be accessed by clicking the Spam text link at the top of the screen. If you are running Akismet, be cautious when marking something as spam, as it will be reported and used in determining the status of future incoming comments. If you just think a comment is uninteresting or not worth displaying, use Delete instead.
This link is red for good reason. If you delete a comment, in cannot be retrieved. If you don’t want it to display but don’t want it to appear on your site, you can use Unapprove instead.
A new feature in WordPress 2.7, Reply allows you to reply to a comment right from your administration panel. Clicking Reply will reveal a layer in which you can enter your response to the comment. Click Save to submit the reply, or Cancel to discard it and close the layer. Your replies will be automatically approved, so make sure you approved the comment you are replying to, or your readers might be confused. Your reply will appear in the space where you typed it at first, though once you’ve done anything else on the comments screen, your reply will move to its chronological place in the comments list. If you have enabled comment threading on your site, your reply will appear as a threaded response to the original comment.
In addition to using the action links on individual comments, some actions may be performed in bulk. To the left of each comment is a checkbox, which may be used for bulk actions. Simply click the checkboxes next to the posts in question, then select Mark as Spam or Delete from the Actions menu above the column of checkboxes. Click Apply, and all the items you checked will be removed as directed. Checkboxes at the top and bottom of the column act as a toggle to select all/unselect all, or if you have already selected some items will select the inverse.
Yet another option for acting on comments is the use of keyboard shortcuts, a new addition in WordPress 2.7. To use this option you must have enabled it in your profile (just check the box to allow keyboard shortcuts). Once enabled, you can use the J and K keys to move up and down the comments list to highlight a comment for moderation, and use other keys to perform the actions. The keys for actions are easy to remember.
Approve
Unapprove
Edit
Quick Edit
Mark as Spam
Delete
Reply
You can also search for specific comments by using the search function in the upper right. This searches the text, author name, author e-mail, author URI, and author IP address of all comments. Clearing the search box and then clicking the search button will reset the display and show all comments. The ability to search for comments can be useful for cases such as wanting to find all previous comments by an author to see what they have said on your site before.
Comment moderation is a feature in WordPress that allows you to prevent comments from appearing on your site without your express approval. Moderation can be very useful in addressing Comment Spam, but it has more general applications as well. If you have turned on comment moderation, then you will be notified of any comments that are left on your blog. Depending on which settings you’ve enabled, you may need to explicitly approve each comment before it goes live, or you may only need to approve comments by people who have not left approved comments on your blog before.
WordPress runs a number of tests on each new comment before posting it to your blog. If a comment fails one of these tests, it is not displayed immediately on the site but is placed in a queue for moderation, the process of manual approval or deletion by the blog’s administrator. You can control which comments get held for moderation on your Discussion Settings screen, which is accessible at → .
If you would like every comment to be held for moderation, check “An administrator must approve the comment,” listed under the section called “Before a comment appears”.
If you would like to send suspicious comments to the moderation queue, while letting innocent comments through, you will need to specify a set of rules for determining which comments are suspicious.
The first option is to hold comments for moderation if they contain an unusually large number of hyperlinks. Most normal comments contain at most one or two links while spam comments often have a large number. Look at your own comments and set this to a value that makes sense for your audience. If you do not wish any links to appear in comments, set it to 1. Many people set it to 2 to allow commenters to provide helpful links in their comments while weeding out mass-link comment spam.
The second option is to specify a set of moderation keys which, if present in any part of the comment, will cause it to be held for moderation. These keys are specified one per line in the large text area, which is blank by default. Moderation keys can include common spam words, swear words, IP addresses, and Regular Expressions (names, phrases, etc.).
When you add a new moderation key, it’s a good idea to test its validity by checking previous comments. Simply use the link entitled “Check past comments against moderation list,” which is located underneath the text box containing moderation keys. This asks WordPress to check previous comments and tell you which ones would be flagged for moderation under your new set of keys.
The box marked Comment blacklist works in exactly the same way as the comment moderation box, except that comments that match these words will be deleted immediately and without notification. So be careful! Genuine comments could be deleted without you ever knowing they were there.
Adding moderation keys or blacklist keys can help reduce the amount of spam comments you get, but be careful! If you include words that someone uses legitimately, the comments will be held or deleted. For example, you may have entered “viagra” as a key, assuming only spammers would include that word in comments. However, a friend or regular reader may use the word innocently in the context of responding to a post you’ve made or making a joke. Comments can also be held or deleted because part of a word matches. For example, if you’ve entered a the word “xnsd” because it is a spam word, swear word, or the name of an annoying commenter (yes, this is a fake word; no one can be offended by fake profanity), you’ll be protected from comments that include “xnsd” in the author name or comment body. However, if someone includes “aklxnsdhw,” which is not a word that should be screened, their comment will be held or deleted because it contains the objectionable string “xnsd” even though it is not objectionable in this other word. Because of this, it’s a good idea not to use regular expressions in the blacklist (as opposed to the moderation list) unless you are very sure that there is no possible way it could prevent legitimate comments from being shown. Once a comment has been deleted, it cannot be retrieved.
If you’ve been on the internet for any amount of time you’re probably familiar with “spam” in your e-mail inbox. For the uninitiated, spam is an unsolicited commercial message, or something you didn’t ask for trying to sell you something. So what does this have to do with blogs? Just as you can get spam messages in your inbox, people will leave spam comments on your blog. However, unlike e-mail spam where the target is you, comment spam generally targets search engines.
Why on earth would a spammer target a search engine on your blog? Let’s start from the beginning. Several years ago Google pioneered a search technique called PageRank. In addition to looking at the content of a page, PageRank also looks at who links to a page and what that link says. This technology is what made Google very good at returning relevant results and made it the most popular search engine today. Because their ranking system relies so heavily on PageRank people can sometimes game the system in what’s called “Google Bombing.” A google bomb is when a large number of different websites link to a page with the same link text to influence the ranking of that page for a search term.
This brings us back to the spammers. A spammer might have a site that sells viagra and wants to be at the top of a search for viagra on Google, so to create the effect of a google bomb they leave comments on hundreds or thousands of weblogs linking to their site with the link text “viagra”. They don’t really care if you see it, in fact they’d rather you didn’t because you would delete it, they just want the search engine to see it when they index your page.
Comment Moderation is very effective in addressing unwanted comments. The best defense against comment spam is just watching your comments. Selecting Comments from the main menu will take you to a screen that shows a listing of the latest comments on any post and you can quickly scan the comment activity on your site. The faster you respond to comment spam on your site, the less likely the spammers will return. The Akismet plugin that is bundled with the WordPress install, is highly effective at combating comment spam because it taps into a wide community of bloggers reporting comment spammers. If you decide to activate Akismet, please be sure that when you click “Mark as Spam” on an incoming comment you truly believe it is spam. If it’s just uninteresting or you dislike what the author had to say, click Delete instead, so that the author isn’t marked as a spammer in the Akismet system.
A new technique is the spammers will leave a perfectly normal-looking comment except for the commenter’s URI or name. The best way to watch out for this is to visit the URIs of people who leave comments on your blog. (This is a good practice anyway.) If one looks suspicious, either delete the comment entirely or leave the comment and delete the URI. Another “stealth spam” tactic is to use a div-tag around a bundle of hundreds of links. This becomes more and more common because many types of software display the given HTML tags directly and not the HTML code. To avoid this the software must strip out the HTML tags while inserting the comment into the database.
Table of Contents
WordPress Themes use a combination of template files, template tags, and CSS style sheets to generate the visual structure and design of your site.
Template files are the building blocks which come together to create your site. In the WordPress Theme structure, the header, sidebar, content, and footer are all contained within individual files. They join together to create your page. This allows you to customize the building blocks. For example, in the Default WordPress Theme, the multi-post view found on the front page, category, archives, and search web pages on your site, the sidebar is present. Click on any post, you will be taken to the single post view and the sidebar will now be gone. You can choose which parts and pieces appear on your page, and customize them individually, allowing for a different header or sidebar to appear on all pages within a specific category. And more. For a more extensive introduction to Templates, see Stepping Into Templates.
Template tags are the bits of code which provide instructions and requests for information stored within the WordPress database. Some of these are highly configurable, allowing you to customize the date, time, lists, and other elements displayed on your website. You can learn more about template tags in Stepping Into Template Tags.
This is where it all comes together. On every template file within your site, there are XHTML tags and CSS references wrapped around your template tags and content. In the style sheet within each Theme are commands for the page’s structure. Without these instructions, your page would simply look like a long typed page. With these instructions, you can move the building block structures around, making your header very long and filled with graphics or photographs, or simple and narrow. Your site can “float” in the middle of the viewer’s screen with space on the left and right, or stretch across the screen, filling the whole page. Your sidebar can be on the right or left, or even start midway down the page. How you style your page is up to you. But the instructions for styling are found in the style.css file within each Theme folder.
WordPress supplies two default themes (Kubrick and Classic) for your initial use. You can switch between these two themes, customize them, add a new theme, or create your own. Themes are accessed through → , which takes you to a screen that shows you the currently active theme at the top, and other available themes below. From the Available Themes section, click on theme title (or theme screenshot) for the theme you wish to activate. A preview of the theme will be shown; to activate the theme, click the “Activate [Theme Name]” link in the top right. Your selection should immediately become active.
Some themes include the option to adjust the header colors or background image. For example, Kubrick allows you to select colors for the header. If you have a theme activated that has this functionality, a submenu item will appear in the menu that gives you access to this level of customization. In the case of Kubrick, clicking this submenu item will take you to a screen where you can choose the colors of the background header gradient as well as the font colors. If the color selector has been opened, close it to access advanced options for the theme header. Some themes also will allow you to upload images for use in a custom header. If you are using a theme that does not include the option to customize your header, that submenu item will not be displayed in the menu.
There are many themes available for download that will work with your WordPress installation. You can browse available themes at the official WordPress Theme Repository. Themes in the repository have been checked and inspected, and are free for downloading. The site features the ability to search by type and style, and offers a demonstration of the page view elements of the Theme. Alternately, you can search for themes elsewhere using a search a search engine. When downloading a theme from an unofficial source, it’s a good idea to do a search on that theme to see what community members have said about it. You’ll want to be careful and stick with themes and theme authors that have a good online reputation, or you might unwittingly wind up downloading spyware or spam onto your blog. That said, there are far more awesome themes out there than malicious ones, so do look around to find a theme that you love.
Once you’ve found the theme you want to use, you can install it via FTP or cPanel. If the theme that you are installing provides instructions, be sure to read through and follow those instructions for the successful installation of the theme. It is recommended that theme developers provide installation instructions for their own themes, because themes can provide special optional functionality that may require more steps than the basic installation steps covered here. If your theme does not work after following any provided instructions, please contact the theme author for help.
To add a new theme to your WordPress installation via FTP, follow these basic steps:
Download the theme archive and extract the files it contains. You may need to preserve the directory structure in the archive when extracting these files. Follow the guidelines provided by your theme author.
Using an FTP client to access your host web server,
create a directory to contain your theme in the
wp-content/themes directory provided by WordPress. For
example, a theme named Test should be in
wp-content/themes/test. Your theme may provide this directory
as part of the archive.
Upload the theme files to the new directory on your host server.
Follow the instructions above for activating the new theme.
If your host offers the cPanel control panel, and the theme
files are in a .zip or .gz archive follow these instructions:
This assumes the theme you download is a compressed (.zip)
file and the files in the .zip file are in their “named”
folder.
Download the theme .zip file to your local
machine.
In cPanel File Manager, navigate to your themes folder.
If you have WordPress installed in it’s own folder called
wordpress, you would navigate to
public_html/wordpress/wp-content/themes and if WordPress is
installed in your web-root folder you would navigate to
public_html/wp-content/themes.
Once you’ve navigated to the themes folder in cPanel File Manager, click on Upload file(s) and upload that zip file you saved in Step 1.
Once the .zip file is uploaded, click on the .zip file
name in cPanel, then in the panel to the right, click on
Extract File Contents, and that .zip file will be
uncompressed.
Follow the instructions above for activating the new theme.
Template files are the building blocks which come together to create your site. In the WordPress Theme structure, the header, sidebar, content, and footer are all contained within individual files. They join together to create your page. This allows you to customize the building blocks. For example, in the Default WordPress Theme, the multi-post view found on the front page, category, archives, and search web pages on your site, the sidebar is present. Click on any post, you will be taken to the single post view and the sidebar will now be gone. You can choose which parts and pieces appear on your page, and customize them individually, allowing for a different header or sidebar to appear on all pages within a specific category.
If you want to make changes to your theme, such as modifying the CSS to change the color scheme or modifying the you can do so using the built-in Theme Editor, accessible from the Appearance menu. The editor allows you to edit the markup of the files listed to the left. Click on a file name to load it in the editor. Save to have your changes applied to the theme. You will need to know how to write CSS, HTML, and/or PHP to modify theme files. The following are the files typically included within a Theme.
404 Template = 404.php
Archive Template = archive.php
Archive Index Page = archives.php
Comments Template = comments.php
Footer Template = footer.php
Header Template = header.php
Links = links.php
Main Template = index.php
Page Template = page.php
Popup Comments Template = comments-popup.php
Post Template = single.php
Search Form = searchform.php
Search Template = search.php
Sidebar Template = sidebar.php
Stylesheet = style.css
For more information on using the Theme Editor, see the Codex.
CSS stands for Cascading Style Sheets. It allows you to store
style presentation information (like colors and layout) separate
from your HTML structure. This allows precision control of your
website layout and makes your pages faster and easier to update. On
every template file within your site, there are XHTML tags and CSS
references wrapped around your template tags and content. In the
style sheet within each Theme are commands for the page’s
structure. Without these instructions, your page would simply look
like a long typed page. With these instructions, you can move the
building block structures around, making your header very long and
filled with graphics or photographs, or simple and narrow. Your
site can “float” in the middle of the viewer’s screen with space on
the left and right, or stretch across the screen, filling the whole
page. Your sidebar can be on the right or left, or even start
midway down the page. How you style your page is up to you, and the
instructions for styling are found in the style.css
file within
each Theme folder.
Template tags are the bits of code which provide instructions and requests for information stored within the WordPress database. Some of these are highly configurable, allowing you to customize the date, time, lists, and other elements displayed on your website. If you are interested in using Template Tags to change your site, please refer to the full list of Template Tags available in the Codex.
If you want to create your own design from scratch and don’t want to work from an existing theme’s code, you will need to create your own theme. You can find directions on how to do this in the Codex. If you run into problems, try the support forums for advice and help. Do a search of the forums before posting your question, as chances are someone else has had the same problem before.
When you have finished creating your theme, upload it, activate it, and enjoy the fruits of your labor. Consider giving back to the WordPress community by releasing your theme as open source. The universe will reward you with many karmic blessings.
Themes usually have at least 1 or 2 sidebars. Sidebars are the narrow columns to the left or right of your blog posts, or in some themes, they appear as rows below the main posts column. Each section in the sidebar is known as a “Widget” that you can add or remove, move up or down in a sidebar, move between sidebars (in themes that have more than one), and configure. To manage widgets, go to → in the main menu. You should see two columns: Current Widgets and Available Widgets.
If your current active Theme is not widget-compatible, meaning the theme is not coded for widgets, you will see the message, “You are seeing this message because the theme you are currently using isn’t widget-aware, meaning that it has no sidebars that you are able to change. For information on making your theme widget-aware, please follow these instructions.”
Go to → . You will see two sections: Available Widgets and Current Widgets. In the Current Widgets section, decide which sidebar you want to show/configure. Note: The default Kubrick theme has just one sidebar defined. Other themes might have more than one sidebar defined, and if so, you’ll be able to select it from the Current Widgets drop-down menu. Each of the available widgets is described below.
Find a widget you want to add from the list of Available Widgets. Click on “Add” to add the widget to that sidebar, and click “Save Changes” to confirm the addition. Note that some widgets have default configurations and will begin to work immediately, while others require configuration details to be entered before they will display correctly on your blog. Also, some themes come with certain widgets pre-included in the theme. Once you add a new widget, the default widgets that had been showing before may be gone. Don’t worry, you just need to re-add them on the Widgets screen. The theme is assuming that since you’ve started adding widgets yourself, you no longer want to use the defaults. If you want to use the defaults in addition to new selections, just make a note of the default widgets and add them again.
In the Current Widgets section, you can edit both the content of individual widgets and the order in which they are displayed in your blog sidebars. To edit the details of a particular widget, such as the title to display in the sidebar or the number of items to display, click the Edit link to reveal a configuration view. Enter the new details, then click the Done button. Click the Save Changes button to confirm the changes you’ve made. When you have more than one widget in your list of Current Widgets, you can determine the order in which they will appear on you blog. Click on the widget title and hold the left mouse button down, then drag the widget bar up or down to the location desired. At that point release the mouse button. That process is called drag-and-drop. Click “Save Changes” to confirm your new layout.
In the Current Widgets section, go to the sidebar that contains the widget you want to remove. Click “Edit” next to that widget. The widget title will expand to the configuration view. Click “Remove” in the lower right, then click “Save Changes” to confirm the deletion.
Displays archive links for each month that has posts.
title that appears over the list of archive links.
if checked, this box causes a count of the number of posts for each archive period.
if checked, this box causes the archives to be displayed in a drop-down box.
displays a calendar of the current month. Dates appear links if there are posts for that day.
title that appears over the calendar.
displays a list of post categories as links to those posts.
description that appears over the list of categories.
if checked, this box causes the categories to be displayed in a dropdown box.
if checked, this box causes the count of the number of posts to display with each category.
if checked, shows parent/child relationships in an indented manner.
displays list of links (blogroll) separated by category. Meta: displays links to meta functions such as Site Admin, Login/out, Entries RSS, Comments RSS, and wordpress.org.
description that appears over the list of meta links.
displays a link to each Page.
description that appears over the list of pages.
select the order to sort the list of pages. Choose Page Title, Page Order, or Page ID from pulldown box.
enter the Page ID(s) to exclude, separating each Page ID with a comma.
displays a list of the blog’s most recent approved comments.
title that appears over the list of recent comments.
enter the number of comments to be displayed.
displays list of the blog’s most recent posts.
title that appears over the list of recent posts.
enter the number of posts to display.
displays an RSS Feed. Multiple instances of this widget can be added to the Current Widgets list. Using RSS Widgets lists several feeds to use with this widget.
enter a complete feed URL, e.g. http://wordpress.org/development/feed/
enter a title that appears over the list of feed items.
enter the number of items from the feed you want displayed.
check this to display the content of the feed.
check this to display the author of this particular item content.
check this to display the date the item was published.
displays a Search box to enter text to search your blog. A submit button is also provided.
displays list of the blog’s top 45 used tags in a tag cloud.
title that appears over the tag cloud.
used to enter HTML, Javascript, or just plain text. Multiple instances of this widget can be added to the Current Widgets list. Using Text Widgets details a number of possible uses for text widgets.
a description of the text widget.
use this area to enter text, valid HTML, or even valid JavaScript.
Table of Contents
The core of WordPress is designed to be lean, to maximize flexibility and minimize code bloat. Plugins are like mini-applications that hook into WordPress to extend its functionality by offering custom functions and features. Plugins are developed separately from core by thousands of developers so that each user can tailor their site to their specific needs. You can use plugins for a wide range of functionality, including front-end things like adding an event calendar or shopping cart to your blog, or for back-end things like changing the way the administration panel looks or how you manage tags.
The following plugins are included with the WordPress core distribution:
Akismet checks your comments against the Akismet web service to see if they look like spam or not. You can review the spam it catches under “Manage” and it automatically deletes old spam after 15 days.
This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong. Hello, Dolly. This is, by the way, the world’s first official WordPress Plugin. When enabled you will randomly see a lyric from “Hello, Dolly” in the upper right of your Administration Panel.
The official plugin repository at wordpress.org includes many thousands of plugins to choose from, and has a rating system so you can see which plugins other users value the most. You can search for plugins by keyword or author, or browse by tags. It’s recommended that plugin authors include screenshots and a description of their plugins when submitting to the repository, but because plugins are developed by so many different people, there will be varying amounts of information available for each one.
With advent of WordPress 2.7, plugins in the official repository can now be browsed and installed from within the administration panel. In the left-hand menu, go to → . You will be given the option to search by keyword or browse the tag cloud of popular plugin tags. If you are not looking for a specific plugin, try browsing by tag, as it tends to yield more results than keyword search in some cases. For example, if you are looking for more features around commenting, such as the ability to include video comments, you would click on the "comments" tag, which would lead you to a list of all plugins tagged with the word comments.
After looking through the list and finding one that sounds good, just click on Install. Depending on your server setup, the plugin with either automatically install, or you will be asked for your FTP information. If you are asked for this information, simply fill in and submit the form, and then your selected plugin will install itself.
Once the plugin has been installed, you will need to activate it. Go to → and you will see a list of active and inactive plugins. Find the plugin you just installed, and click on the Activate link next to it. Voila! Your plugin is now activated.
In addition to the official repository that is accessible from your Administration Panel, plugins also can be found at the WordPress Plugin Database at wp-plugins.net. Not all WordPress Plugins make it into these repositories. Try searching the web for “WordPress Plugin” and the keywords for the type of functionality you are seeking. When obtaining plugins from a source other than the official repository, you will need to download the plugin and then ftp it to your server according to the author’s directions. Be safe! Before installing a plugin this way, check to see what people are saying online about the plugin (try the support forums, or a Google search) to make sure the plugin is legitimate and won’t do anything sneaky on your blog.
Plugins are meant to play nice, not only with the core of WordPress, but with other plugins. Most of the time, this is what happens, and users are able to install dozens of plugins (though the average is five) without any compatibility issues. Sometimes, though, a plugin’s code will get in the way of another plugin, causing compatibility issues. If your blog starts doing strange things, you may have plugin compatibility issues. Try deactivating all your plugins and activating them in various combinations until you find the culprit. If you find compatibility issues, please let the plugin authors know about it.
Plugin authors will sometimes update their plugins to fix bugs, add functionality, or to be compatible with a new version of WordPress (for example, a number of plugins needed to update their code to fit into the new navigational structure of WordPress 2.7). Plugins that are in the official repository will let you know when there is an update available. When you see a number appear next to Plugins in the left-hand menu, that means there are plugin updates available. Just follow the instructions and updating your plugin will be as easy as installing it was.
If you wish to stop using a plugin, you have two choices. You can deactivate the plugin but keep it installed, allowing you to reactivate it later should you decide you want to start using it again, or you can uninstall the plugin and remove it from your system altogether. You can also activate currently inactive plugins. For any of these functions, go to “Plugins > Installed”, and click the appropriate link.
If there’s something you wish you could do with your blog and you can’t find a plugin that includes that function, you might want to create one yourself. If you are proficient in PHP, you can learn about creating plugins in the Codex. If you’d like to collaborate with other developers, consider joining the wp-hackers mailing list, or hop into the #wordpress-dev IRC channel to find yourself some co-conspirators. If you are not a developer but wish someone else would make the plugin of your dreams, try posting it in our support forums.
Table of Contents
While this handbook does not delve into the more complex back end processes that run your blog, there are some system administration-type tasks that you may need to tackle in the course of your regular use.
If you are coming to WordPress from another blogging platform, you may wish to import posts from your old blog. Instructions for most major platforms are now included in the WordPress Administration Panel. Go to → and select your previous platform from the list. You will be given instructions on how to export your files from the old system, and will be able to import them into your WordPress blog.
Conversely, should you need to move your posts from one WordPress blog to another, or should you decide to leave WordPress for another platform, you can export your files within the Administration Panel as well. Go to → and follow the directions there.
On computer filesystems, different files and directories have
permissions that specify who and what can read, write, modify and
access them. This is important because WordPress may need access to
write to files in your wp-content
directory to enable certain
functions.
All files should be owned by your user account on your web server, and should be writable by your username. Any file that needs write access from WordPress should be group-owned by the user account used by the webserver. For example, you may have a user account that lets you FTP files back and forth to your server, but your server itself may run using a separate user, in a separate usergroup, such as dhapache or nobody.
The file and folder permissions of WordPress should be the same for most users, depending on the type of installation you performed and the umask settings of your system environment at the time of install.
If you installed WordPress yourself, you likely do not need to modify file permissions. Unless you are experiencing problems with permission errors, or you want to, you probably should not mess with this.
For core WordPress files, all should be writable only by your
user account. However, if you utilize mod_rewrite Permalinks or
other .htaccess
features you should make sure that WordPress can
also write to your .htaccess
file.
If you want to use the built-in theme editor, all files need to be group writable. Try using it before modifying file permissions, it should work.
Some plugins require the /wp-content
folder be made writeable,
but in such cases they will let you know during installation. In
some cases, this may require assigning 755 permissions or higher
(e.g. 777 on some hosts). The same is true for /wp-content/cache
and maybe /wp-content/uploads
Additional directories under /wp-content
should be documented
by whatever plugin / theme requires them. Permissions will
vary.
For more information on file permissions including directions for editing permissions using various methods, see the Codex.
Your WordPress database contains every post, every comment and every link you have on your blog. If your database gets erased or corrupted, you stand to lose everything you have written. There are many reasons why this could happen and not all are things you can control, which is why it is essential to make regular backups of your data.
There are two parts to backing up your WordPress site: Database and Files. You need to back up the entire site as well as your WordPress database. Your WordPress site consists of the following:
WordPress Core Installation
WordPress Plugins
WordPress Themes
Images and Files
JavaScript, PHP, and other code/script files
Additional Files and Static Web Pages
All of these are used in various combinations to generate your website. The database contains your posts and a lot of data generated on your site, but it does not include the above elements that all come together to create the look and information on your site. These need to be saved. Full instructions for backing up your site and database are available in the Codex. If you have any questions about the backup process or run into problems, support is provided online at the Support Forums to help you through the process.
Beginning with WordPress 2.7, a built-in upgrade function makes
it easier than ever to upgrade your WordPress installation. Simply
go to Tools > Upgrade
in the main menu. You’ll be given the
option to perform a one-click upgrade or download the files. If you
choose to perform the one-click upgrade, you will be upgraded in
mere moments. Some hosting setups do not support this function, so
if you receive an error rather than a notice that the upgrade is
complete, check to see if your host is compatible with the
one-click upgrade. A list of host compatibility has begun to be
compiled in the Codex.If your host is not compatible with the
automatic upgrade, you can still upgrade the old way.
For these instructions, it is assumed that your blog’s URL is
http://example.com/wordpress/. Note that during the upgrade process
access to your blog may not work for your visitors.
If you run into problems Upgrading WordPress with the three steps described here, you need to revert to your old version first before using the more detailed upgrade instructions from the Codex (ie. restore the backup made in step 0). Even though you might not run into any errors with this process right away, you might run into problems later down the line. Then it may not be possible to revert far enough back to fix the problem without losing any recent changes. So, if you use Plugins and Themes other than the ones that come with the default WordPress installation, it is advisable to start over with the more detailed upgrade instructions.
Just in case something goes wrong, make sure you have a backup.
Make sure the database user name registered to WordPress has permission to create, modify, and delete database tables. If you installed WordPress in the standard way, and nothing has changed since then, you are fine.
Deactivate your plugins. A plugin might not be compatible with the new version, so it’s nice to check for new versions of them and deactivate any that may cause problems. You can reactivate plugins one-by-one after the upgrade.
Get the latest WordPress. Either download and extract it to your computer or download it directly to the server.
As a reminder, to extract a tar.gz to a folder
use this command, replacing (folder name) with the name
of your folder: tar -xvzf latest.tar.gz -C ./(foldername)
Delete your old wp-includes
and wp-admin directories.
Copy the new WordPress files to your server,
overwriting old files in the root, except perhaps the
wp-content
folder (see "NOTE" below). You may use FTP or
shell commands to do so. Note that this means all the
files, including all the files in the root directory as well.
If you use the default or classic theme and have customized
it, then you can skip that theme.
The wp-content
folder requires special handling, as
do the plugins and themes folders. You should copy over the
contents of these folders, not the entire folder. In some cases,
copying the entire folder may overwrite all your customizations
and added content.
Also take care to preserve the content of the wp-config.php
file in the root directory. This file contains current settings
for your existing installation, e.g. database sign-in
information. Occasionally new versions of WordPress adds
statements to this file. (E.g. in version 2.5 the SECRET_KEY
variable was added, see Extended upgrade instructions). Compare
your existing file with the new installation file which is named
wp-config-sample.php
. Either transfer your settings to the
sample-file and rename it to wp-config.php
or copy the new
statements from the sample file into your current file.
Visit your main WordPress admin page at /wp-admin
. You may be
asked to login again. If a database upgrade is necessary at this
point, WordPress will detect it and give you a link to a URL like
http://example.com/wordpress/wp-admin/upgrade.php. Follow that link
and follow the instructions. This will update your database to be
compatible with the latest code. If you fail to do this step, your
blog might look funny. If you have caching enabled, your changes
will appear to users more immediately if you clear the cache at
this point (and if you don’t, you may get confused when you see the
old version number in page footers when you check to see if the
upgrade worked). Your WordPress installation is successfully
upgraded.
There are times when you need to move WordPress around within your server, and times when you need to move WordPress from one server to another. You don’t need to reinstall. WordPress is flexible enough to handle all of these situations. Easy answer for most installations:
If database and URL remains the same, you can move by just copying your files and database.
If database name or user changes, edit wp-config.php
to
have the correct values.
If you want to test before you switch, you must
temporarily change siteurl and home in the database table
wp_options (through phpMyAdmin or similar).
If you had any kind of rewrites (permalinks) setup you must
disable .htaccess
and reconfigure permalinks when it goes live.
For specific information on moving WordPress within your current site, giving WordPress its own directory while leaving the WordPress index file in the root directory, moving WordPress to a new server, or moving WordPress to a new server with Fantastico, please refer to the step-by-step instructions in the Codex.
Table of Contents
In the Administration Panel, every screen contains a Help tab in the upper right, which provides links to the Codex, Support Forums and contextual help based on your current screen. Clicking the Codex link will take you to the section of the Codex related to your current screen. If the contextual help and codex sections don’t give you the help you need, your next action should be to try the support forums.
The Codex contains Frequently Asked Questions for most of its sections, troubleshooting guidance and other help resources. You can navigate to a specific Codex section for information, or access Codex Help Resources.
The Support Forums are a fantastic resource when you’re having trouble using WordPress. The WordPress forums have one of the most helpful communities on the web, and are moderated by volunteers, so please be respectful of everyone’s time by following these forum guidelines.
Before you do anything, search the WordPress forums or http://search.wordpress.org. Most of the common questions have already been asked and answered, so chances are you can find a solution to your problem if you search for the right terms. If you can’t find anything relevant to your issue, create a new thread in the forum most appropriate for your problem.
When posting your question, it’s a good idea to mention the searches you’ve already done and ways you’ve already tried to solve your problem, to save the volunteers time.
If your question relates to Installation, then post that Topic in the Installation Forum. If your question is about Themes and Template, post it there. If you want your WordPress website reviewed, post it in the Your WordPress section and be sure and read WordPress Site Reviews. Questions placed in the wrong Forum may get overlooked.
A Topic Title such as “Help!” or “Newbie question” or “What the ****?” is not specific enough. A poor choice of Topic Title can slow responses to your questions. Many Volunteers look for Topic Titles matching their area of expertise, and if your Topic Title isn’t descriptive enough, the volunteer may move on to the next question. For example, “CSS problem in header” will bring CSS-capable help to your post. “Error: Cannot connect to database” will more likely get a response from a volunteer knowledgeable in database problems. Think about your Topic Title (post title). Asking a specific question will help you get your answer sooner and also will help subsequent visitors to the Forums who are encountering the same problem.
What version of WordPress are you using? What Theme are you using? Have you recently installed any plugins? Have you customized something recently? If possible, provide a direct link to your site so that Forum volunteers can see the source of your problem. Don’t assume that people will “just know” the answer to your problem; provide as much detail as you can.
Post Your URL (website address). Volunteers are not psychics. Questions like, “My sidebar looks bad. Why?” without a site address are impossible to answer. In most cases, you must provide a URL and/or a detailed 3-5 paragraph description of your problem.
It seems obvious, but politeness counts. Simply saying “please” and “thank you” is easy to do, and is always appreciated by those taking the time out of their day to help you. When you’re frustrated by the problem you’ve encountered, it’s also easy to vent your frustration in the forums, but please don’t. Don’t write in ALL CAPITAL LETTERS, don’t insult the developers or the forum moderators, don’t post repeatedly asking why no one has answered your question yet, and, well, just don’t be a jerk. What goes around comes around, as they say, and if you are nice in the forums, people will be nice to you in return.
Everyone that answers questions on the Forum is a volunteer. Volunteers don’t get paid to answer questions. Please be patient when waiting for an answer. At times frustrations can get the better of people; it happens to everyone, but sometimes you may just have to wait a bit before a question gets answered. Remember that WordPress has a world-wide user base, so you may have to wait for someone in a faraway place to come online to help you out!
Bumping is poor etiquette! It’s like jumping into the front of the line—that just upsets people. Bumping will not get your question answered faster—volunteers look for threads that only have one (1) post, but if you bump your thread, you immediately increase the post count to two (2) and that makes it harder to find an unanswered thread. Volunteers go through the individual Forum sections looking for no answers to posts. If you bump your post, it will show that there has been a response and it will get overlooked.
If your original question gets answered, don’t use the same post to ask a different question. It may not get answered, since your post title won’t match what you are currently needing help with.
If you find a solution to the problem, whether elsewhere or through these Forums, please post the solution so others can benefit from this collective pool of knowledge. You cared enough to post your problem, so, consider it a small way to “give back” to the Forums by posting the final solution. There’s nothing more disheartening than finding that thread where someone has the same problem you’re having but seeing the “Nevermind, I found the solution, thanks.”
Long sections of code should not be posted on the forum. Please
use your own site to do this, or use the pastebin and copy your code there. Then return
to here and post the link the pastebin gives you to your code. You
can also copy your *.php
file, rename it to *.phps
and save it on
your site, and then post a direct link to that file. There are many
options available, but long bits of code will be deleted from the
forum.
To ensure the best experience for all WordPress members, we ask that you observe the following guidelines regarding the "fair use" of the WordPress Support Forums.
The forums are not chat rooms. It is very difficult to
hold a conversation
in a forum setting and the forums are
not the appropriate place for starting topics unrelated to
support issues.
Forums are NOT paid support. Volunteers give of their time and expertise to answer your questions. They are not paid or rewarded in any way, except by the occasional thank you. Be nice to them and they will be nice to you. And if you had a good experience and want to share your expertise and time, consider becoming a Support Forum Volunteer yourself.
Spam, unwanted links, advertising, and inappropriate items will be deleted. While the WordPress Support Forum is fairly casual, unwanted and inappropriate material will be deleted immediately.
Signatures are a no-no. The support forums lend themselves well to quick visual scanning of the content. Signatures interrupt this scanning, and are strongly discouraged. Any signature found may be deleted without notice.
Posts must be related to WordPress. Topics and their discussions must be related to WordPress and providing support for users of WordPress. All other topics are subject to closing or deletion.
Soliciting professional (for pay) assistance. Please direct all requests for professional assistance to the wp-pro mailing list. WordPress users who desire to bid on such work are encouraged to sign up for the list and reply to such in private.
If you’re paying someone to host your site, there is a lot they can do for you that we can’t. If you’re not sure how to create a database or access MySQL, they usually have documentation on that issue or can walk you through it. Start there. While you can’t expect them to help you with WordPress itself, the following things are probably well within the realm of your host support:
Creating a MySQL database
Connecting to a database
Making a file writable
PHP not working (WordPress showing blank pages or PHP code, PHP errors)
If you’ve searched for answers to your problem, you’ve asked in the forums, and nothing seems to be working, you may have found a bug in the software. Every application has bugs — as long as humans write code, there will continue to be errors in software. Some errors are trivial, while others are critical. Open-source projects like WordPress need the participation of their user communities to identify bugs in their software in order to continue improving the product.
While we try to be proactive in preventing security problems, we do not assume they’ll never come up. If you believe you’ve found a security problem in a release of WordPress please send mail to security at the WordPress.org domain and we’ll do our best to address it as soon as possible.
It is standard practice to notify the vendor (the WordPress developers, in this case) of a security problem before publicizing so a fix can be prepared and public damage due to the vulnerability minimized.
With large projects like WordPress, so many users report bugs that there’s a good chance your bug has already been reported. Because of this, it’s very important to check to be sure it’s not already in the system before you submit it. If you are new to reporting bugs in WordPress, it is also a good idea to discuss the issue with more experienced developers before reporting it. Please follow the steps below.
Search for your bug or feature request in Trac by using Search or a Query.
If your issue has already been reported, please do not report a duplicate bug. If you have further information to contribute, log in and add a note to the existing bug.
If your issue is similar, but not quite the same as another issue, you may decide whether to add a note to the similar issue, or report a new one. It can be difficult to decide whether your issue warrants a new submission, but in general if you just have more information to contribute to a current, open issue, simply add a note to that issue. If you have a different enough issue, or if you are experiencing a recurrence of an issue that was previously resolved, report a new bug.
If your issue was recently reported and then closed, and you do not agree with the resolution, you can also reopen the ticket and add a comment as to your reasoning.
To discuss a bug before reporting it in Trac (e.g. to figure out if it is really a bug in the core of WordPress and not in a plugin or theme), you can post a question on the WordPress Support Forum, discuss your issue on the #wordpress IRC channel, or have an e-mail discussion on the Testers or Hackers mailing list.
Trac is the name of the official WordPress bug tracker. It uses the open source bug tracking software Trac which is a product from Edgewall Software. Follow these steps to create a bug report in Trac:
Log in to WordPress Tracusing your Support Forums username and password. If you don’t have an account at the support forums, register so that you can login to Trac. This is essential for communication about your bug, since the developers may need more information (and you cannot create a ticket without logging in).
Click New Ticket in Trac to reach the bug reporting page.
Fill in the following fields on the new ticket page:
Make the summary short but informative and accurate, as this is the ticket title that will be displayed in search results.
Fill in a full description of your bug or feature request. Include a description of the problem, steps someone else would have to take to reproduce the problem, maybe an example of the bug in action (i.e. a URL), and a description of why it is a problem worthy of being corrected. Also include information about your platform, such as operating system, web server software, PHP version, MySQL version, and WordPress version. The better your description, the better the chances of having the bug resolved promptly.
You will need to decide on a priority for the issue — this is how urgent the bug is. Unless it is a critical bug, this is best left to the default as developers will usually rank the bug’s priority.
Select the component of WordPress where the bug was found.
The significance of the issue. Select a severity based on how critical you consider the issue to be. If in doubt, leave this option as Normal.
If you know of the developer who is responsible for the code that the bug is in, place their Trac username here. You can also take responsibility for the bug yourself, by putting your own Trac user name here. This is optional and could speed up developer attention to the bug.
By what version this issue should be resolved, at the latest. Do not change this. This is an option that WordPress developers will set.
The version of WordPress where the bug was found. You can find the version number of WordPress in the footer of the admin panel.
Keywords that will make it easier for developers to find the bug, and identify the areas it affects. An example might be “posting” for a bug involving the posting mechanism in WordPress. Also, there are some standard keywords used to flag your bug’s status (see Trac Keywords below).
Who bug information and updates should be sent to. If you want to be kept informed, enter your own Trac user name here. You will then be notified by e-mail any time a change is made to this report, or a note to the bug is added. Don’t ignore these e-mails; any time a change is made, be sure to check the report for updates. Developers may need further information from you, and this is their only way of getting in contact with you. Note: you need to go to the Trac Settings page to set your e-mail address. Putting it into your Support Forum profile will not get it into Trac for purposes of CC messages.
Click Submit Ticket (after previewing it). Then pat yourself on the back.
After your bug has been submitted, a WordPress developer will confirm that the bug actually exists and that it should be fixed, and will mark it as such in the ticket.
A WordPress developer decides to fix the bug. A developer figures out how to fix the bug, creates one or more patch files, and uploads them to Trac.
Members of the WordPress development group (including volunteers) test the patch, to see if it fixes the bug and doesn’t break anything else. They add comments and keywords to the ticket to indicate their results.
One of the WordPress developers with authority to modify the official WordPress source code (Matt Mullenweg, Ryan Boren, Mark Jaquith, Peter Westwood or Andrew Ozz) commits the patch to the core code in the SVN repository. They are more likely to do this if the bug and patch has been verified by someone they trust.
Finally, the person who commits the patch sets the bug ticket status to closed and the resolution to fixed.
A ticket in Trac starts its life in the open status, and (hopefully) is eventually closed. When a ticket is closed, it is marked with one of the following status designations:
If your bug has been reported elsewhere, it will likely be closed with duplicate.
If the bug has already been fixed in the latest subversion code (which is probably not what you’re running unless you have a local test blog), then it will be closed with fixed.
If it is decided that your bug isn’t in fact a bug, but is the intended behaviour, it will be closed with invalid.
If no one else can replicate the symptoms you describe, it will be closed with worksforme.
If your bug is a feature request that the developers don’t want in the core, it will be marked as wontfix.
Please verify that your bug doesn’t fall into one of these categories before submission.
The processing of your bug may require your participation. Please be willing and prepared to aid the developers in resolving the issue. Don’t be upset if your bug gets resolved as “Not a bug” or “Won’t fix”. What seems like a bug to you may very well be a “feature”. These resolutions just mean “not going to fix now”, maybe in the future it will be a priority to solve. Thank you for contributing to the development of WordPress!