WordPress
Version 1.3

Semantic Personal Publishing Platform

First Things First

Welcome. WordPress is a very special project to me. Every developer and contributor adds something unique to the mix, and together we create something beautiful that I'm proud to be a part of. Thousands of hours have gone into WordPress, and we're dedicated to making it better every day. Thank you for making it part of your world.

— Matt Mullenweg

Online Resources

If you have any questions that aren't addressed in this document, please take advantage of WordPress' numerous online resources:

The WordPress Codex
The Codex is the encyclopedia of all things WordPress. It is the most comprehensive source of information for WordPress available.
The official documentation
The documentation on wordpress.org represents the official resources we've made available. Beyond reference, this includes tutorials and guides for doing different things with WordPress. As I write this, it is a little sparse, but we're doing our best to enrich this resource so by the time you read this sentence the docs may be bursting with information.
The Development Blog
This is where you'll find the latest updates and news related to WordPress. Bookmark and check often.
Frequently Asked Questions Blog
In addition to the FAQ on the wiki and the main website, there is a new FAQ blog that several members of the documentation team are updating. The FAQ itself is run with WordPress.
WordPress Support Forums
If you've looked everywhere and still can't find an answer, the support forums are very active and have a large community ready to help. To help them help you be sure to use a descriptive thread title and describe your question in as much detail as possible.
WordPress IRC Channel
Finally, there is an online chat channel that is used for discussion amoung people who use WordPress and occasionally support topics. The above wiki page should point you in the right direction. (irc.freenode.net #wordpresss)

System Recommendations

WordPress is the official continuation of b2/cafélog, which came from Michel V. The work has been continued by the WordPress developers. If you would like to support WordPress, please consider donating.

Installation: Famous 5-minute install

  1. Unzip the package in an empty directory
  2. Open up wp-config-sample.php with a text editor like WordPad or similar and fill in your database connection details
  3. Save the file as wp-config.php
  4. Upload everything.
  5. Launch /wp-admin/install.php in your browser. This should setup the tables needed for your blog. If there is an error, double check your wp-config.php file, and try again. If it fails again, please go to the support forums with as much data as you can gather.
  6. Note the password given to you.
  7. The install script should then send you to the login page. Sign in with the username admin and the password generated during the installation. You can then click on 'Profile' to change the password.

Upgrading

Before you upgrade anything, make sure you have backup copies of any files you may have modified such as index.php.

Upgrading from any previous WordPress to 1.3:

  1. Upload the new files, and be careful not to overwrite anything important
  2. Point your browser to /wp-admin/upgrade.php
  3. You wanted more, perhaps? That's it!

If you are coming from 1.0 or greater, your existing templates should work perfectly with just one change to the way you call comments. If you are coming from a version earlier than 1.0 you will need to modify your templates slightly. Use the default index.php as your guide.

Upgrading from another system

WordPress can import from a number of systems. First you need to get WordPress installed and working as described above.

Templates

The template tags are too numerous and flexible to adequetely document here, so please see our online documentation.

Themes

Themes are a new way to switch the look and function of your site with just a click. TODO

Plugins

TODO

Query String Usage

WordPress can be manipulated quite a bit through the query string. To pass variables in the querystring, proceed the first variable name with a '?' question mark and every other variables with a '&' sign. You may never use this, but it is useful to know.

index.php?m=200107 will display the month of July 2001.

index.php?m=20010701 will display all posts from July 1st, 2001.

index.php?w=20 will display the posts from the 20th week of the year, where January 1st is in the first week (according to PHP).

index.php?p=50 will display the post labeled #50 in the database.

index.php?s=blue+house will display the posts that match the search request "blue house".

index.php?cat=1 will display all posts that belong to category #1 (1 is the default). you can add/rename/delete categories from WordPress's interface.

index.php?author=1 will display all posts from the author #1

index.php?p=50&page=1 will display the first page of post #50. this, again, should be used only with p=, for individual entries.

You can also mix these variables, example: index.php?m=200107&s=hotdog will display the posts that match the search request "hotdog", but only in July 2001.

XML-RPC Interface

WordPress has an XMLRPC interface. We currently support the Blogger API, metaWeblog API, and the MovableType API.

The Blogger API has been completely emulated on WordPress, with some little differences:

If you use blogger.newPost, your post is submitted without title and in category #1.

However, you can type <title>my title</title> and/or <category>2<category> in the body of your post to make its title be 'my title' and its category be #2 (refer to your categories section to find out the ID numbers of the categories). WordPress would then delete that extra info from the body of your post once it is posted.

The metaWeblog and MovableType APIs are currently supported with the following exceptions:

Extended entries in the MovableType API are automatically converted to/from the WordPress <!--more--> tag.

You can now post to your WordPress blog with tools like BlogBuddy, Bloggar, WapBlogger (post from your Wap cellphone!), Radio Userland (which means you can use Radio's email-to-blog feature), Zempt, NewzCrawler, and other tools that support the Blogging APIs! :)

Your XMLRPC server/path are as described here: if you login to WordPress on http://example.com/me/wp-login.php, then you have:

Post via Email

You can post from an email client! To set this up go to your "Writing" options screen and fill in the connection details for your secret POP3 account. Then you need to set up wp-mail.php to execute periodically to check the mailbox for new posts. You can do it with Cron-jobs, or if your host doesn't support it you can look into the various website-monitoring services, and make them check your wp-mail.php URL.

Posting is easy: Any email sent to the address you specify will be posted, with the subject as the title. It is best to keep the address dicrete. The script will delete emails that are successfully posted.

User Levels

You may allow or disallow user registration in your General options. If "new users can blog" is disabled you must first raise the level of a newly registered user to allow them to post. Click the plus sign next to their name on the Users page.

User Levels

Usually you want to have a team of level 1 users except for you.

Final notes

Copyright

WordPress is released under the GPL (see license.txt).