CINXE.COM
The WordPress Codebase | Core Contributor Handbook
<!DOCTYPE html> <!--[if IE 6]> <html id="ie6" lang="en-US"> <![endif]--> <!--[if IE 7]> <html id="ie7" lang="en-US"> <![endif]--> <!--[if IE 8]> <html id="ie8" lang="en-US"> <![endif]--> <!--[if !(IE 6) | !(IE 7) | !(IE 8) ]><!--> <html lang="en-US"> <!--<![endif]--> <head><script type="text/javascript" src="https://web-static.archive.org/_static/js/bundle-playback.js?v=7YQSqjSh" charset="utf-8"></script> <script type="text/javascript" src="https://web-static.archive.org/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="https://web-static.archive.org/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("http://make.wordpress.org/core/handbook/the-wordpress-codebase/","20130116024813","https://web.archive.org/","web","https://web-static.archive.org/_static/", "1358304493"); </script> <link rel="stylesheet" type="text/css" href="https://web-static.archive.org/_static/css/banner-styles.css?v=p7PEIJWi" /> <link rel="stylesheet" type="text/css" href="https://web-static.archive.org/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="UTF-8"/> <meta name="viewport" content="width=device-width"/> <title>The WordPress Codebase | Core Contributor Handbook</title> <link rel="profile" href="http://gmpg.org/xfn/11"/> <link rel="stylesheet" type="text/css" media="all" href="https://web.archive.org/web/20130116024813cs_/http://make.wordpress.org/core/handbook/wp-content/themes/make-twentyeleven/style.css"/> <link rel="pingback" href="http://make.wordpress.org/core/handbook/xmlrpc.php"/> <!--[if lt IE 9]> <script src="http://make.wordpress.org/core/handbook/wp-content/themes/twentyeleven/js/html5.js" type="text/javascript"></script> <![endif]--> <link rel="alternate" type="application/rss+xml" title="Core Contributor Handbook 禄 Feed" href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/feed/"/> <link rel="alternate" type="application/rss+xml" title="Core Contributor Handbook 禄 Comments Feed" href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/comments/feed/"/> <link rel="alternate" type="application/rss+xml" title="Core Contributor Handbook 禄 The WordPress Codebase Comments Feed" href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/the-wordpress-codebase/feed/"/> <link rel="stylesheet" id="admin-bar-css" href="https://web.archive.org/web/20130116024813cs_/http://make.wordpress.org/core/handbook/wp-includes/css/admin-bar.min.css?ver=3.6-alpha-23288" type="text/css" media="all"/> <link rel="stylesheet" id="jetpack-widgets-css" href="https://web.archive.org/web/20130116024813cs_/http://make.wordpress.org/core/handbook/wp-content/plugins/jetpack/modules/widgets/widgets.css?ver=20121003" type="text/css" media="all"/> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://make.wordpress.org/core/handbook/wp-includes/js/comment-reply.min.js?ver=3.6-alpha-23288"></script> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://make.wordpress.org/core/handbook/wp-includes/js/jquery/jquery.js?ver=1.9.0b1"></script> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://make.wordpress.org/core/handbook/wp-includes/js/jquery/jquery-migrate.js?ver=1.0.0b1"></script> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://make.wordpress.org/core/handbook/xmlrpc.php?rsd"/> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://make.wordpress.org/core/handbook/wp-includes/wlwmanifest.xml"/> <link rel="prev" title="Core Contributor Handbook" href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/"/> <link rel="next" title="The Code Repository (SVN)" href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/svn/"/> <meta name="generator" content="WordPress 3.6-alpha-23288"/> <link rel="canonical" href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/the-wordpress-codebase/"/> <link rel="shortlink" href="https://web.archive.org/web/20130116024813/http://wp.me/P2ABLO-107"/> <!-- Jetpack Open Graph Tags --> <meta property="og:type" content="article"/> <meta property="og:title" content="The WordPress Codebase"/> <meta property="og:url" content="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/the-wordpress-codebase/"/> <meta property="og:description" content="ContentsHow Code in WordPress is organized wp-content wp-includes wp-admin JavaScript & CSS Searching and Browsing Code History Installation Database Upgrades File Updates Exploring The Code Wo..."/> <meta property="og:site_name" content="Core Contributor Handbook"/> <style type="text/css" media="print">#wpadminbar { display:none; }</style> <style type="text/css" media="screen"> html { margin-top: 28px !important; } * html body { margin-top: 28px !important; } </style> <style type="text/css" id="custom-background-css"> body.custom-background { background-color: #003366; } </style> <meta id="syntaxhighlighteranchor" name="syntaxhighlighter-version" content="3.1.3"/> <link rel="stylesheet" type="text/css" href="https://web.archive.org/web/20130116024813cs_/http://make.wordpress.org/core/handbook/?custom-css=1&csblog=22&cscache=6&csrev=16"/> <script type="text/javascript"> /* <![CDATA[ */ var wpNotesIsJetpackClient = true; /* ]]> */ </script> </head> <body class="page page-id-3851 page-template-default admin-bar no-customize-support custom-background single-author singular two-column left-sidebar"> <div id="page" class="hfeed"> <header id="branding" role="banner"> <hgroup> <h1 id="site-title"><span><a href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/" title="Core Contributor Handbook" rel="home">Core Contributor Handbook</a></span></h1> <h2 id="site-description">Making WordPress</h2> </hgroup> <form method="get" id="searchform" action="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/"> <label for="s" class="assistive-text">Search</label> <input type="text" class="field" name="s" id="s" placeholder="Search"/> <input type="submit" class="submit" name="submit" id="searchsubmit" value="Search"/> </form> <nav id="access" role="navigation"> <h3 class="assistive-text">Main menu</h3> <div class="skip-link"><a class="assistive-text" href="#content" title="Skip to primary content">Skip to primary content</a></div> <div class="skip-link"><a class="assistive-text" href="#secondary" title="Skip to secondary content">Skip to secondary content</a></div> <div class="menu-main-menu-container"><ul id="menu-main-menu" class="menu"><li id="menu-item-3873" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3873"><a href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/">Handbook Home</a></li> <li id="menu-item-3874" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3874"><a href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/">WordPress Development Blog</a></li> <li id="menu-item-4311" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4311"><a href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/project-organization/">Project Organization</a></li> <li id="menu-item-4312" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4312"><a href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/our-philosophies/">Our Philosophies</a></li> </ul></div> </nav><!-- #access --> </header><!-- #branding --> <div id="main"> <div id="primary"> <div id="content" role="main"> <article id="post-3851" class="post-3851 page type-page status-publish hentry"> <header class="entry-header"> <h1 class="entry-title">The WordPress Codebase</h1> </header><!-- .entry-header --> <div class="entry-content"> <style> .toc-jump { text-align: right; font-size: 12px; } .page .toc-heading { margin-top: -50px; padding-top: 50px !important; }</style><div class="table-of-contents"><h2>Contents</h2><ul class="items"><li><a href="#how-code-in-wordpress-is-organized">How Code in WordPress is organized</a> <ul> <li><a href="#wp-content">wp-content</a></li> <li><a href="#wp-includes">wp-includes</a></li> <li><a href="#wp-admin">wp-admin</a></li> <li><a href="#javascript-css">JavaScript & CSS</a> </ul></li> <li><a href="#searching-and-browsing-code-history">Searching and Browsing Code History</a></li> <li><a href="#installation">Installation</a></li> <li><a href="#database-upgrades">Database Upgrades</a></li> <li><a href="#file-updates">File Updates</a></li> <li><a href="#exploring-the-code">Exploring The Code</a></ul> </div> <p>WordPress is managed by a centralized version control system called <a href="https://web.archive.org/web/20130116024813/http://subversion.tigris.org/">Subversion</a>, and all development processes of the core developers are centralized.</p> <p>The WordPress codebase can be accessed via numerous ways: using Subversion, through Trac (the bug tracker), and through a direct download:</p> <ul> <li><strong>Subversion.</strong> The repository is located at <a href="https://web.archive.org/web/20130116024813/https://core.svn.wordpress.org/">https://core.svn.wordpress.org/</a>. The main development branch, trunk, is <a href="https://web.archive.org/web/20130116024813/https://core.svn.wordpress.org/trunk">https://core.svn.wordpress.org/trunk</a>.</li> <li><strong>Trac.</strong> The repository can be viewed through the browser at <a href="https://web.archive.org/web/20130116024813/https://core.trac.wordpress.org/browser/">https://core.trac.wordpress.org/browser/</a>. A log of changesets can be viewed at <a href="https://web.archive.org/web/20130116024813/https://core.trac.wordpress.org/log/">https://core.trac.wordpress.org/log/</a>.</li> <li><strong>Download.</strong> The latest stable version of WordPress can be downloaded at <a href="https://web.archive.org/web/20130116024813/http://wordpress.org/latest.zip">http://wordpress.org/latest.zip</a> or聽<a href="https://web.archive.org/web/20130116024813/http://wordpress.org/latest.tar.gz">http://wordpress.org/latest.tar.gz</a>. The latest nightly build (2300 GMT) can be found at <a href="https://web.archive.org/web/20130116024813/http://wordpress.org/nightly-builds/wordpress-latest.zip">http://wordpress.org/nightly-builds/wordpress-latest.zip</a> or聽<a href="https://web.archive.org/web/20130116024813/http://wordpress.org/nightly-builds/wordpress-latest.tar.gz">wordpress-latest.tar.gz</a>. </ul> <h2 class="toc-heading" id="how-code-in-wordpress-is-organized">How Code in WordPress is organized <a href="#how-code-in-wordpress-is-organized" class="anchor">#</a></h2> <p>The codebase consists of around 1000 files and directories. Primarily:</p> <p>Initial bootstrap files, such as <code>index.php</code>, <code>wp-load.php</code>, <code>wp-blog-header.php</code>, and <code>wp-settings.php</code>, appear in the root directory.聽Special handlers such as the XML-RPC, APP, trackback, and comment submission endpoints, are also in the root.</p> <p>The remaining files are divided into three distinct directories: <strong><code>wp-admin</code></strong>, <strong><code>wp-includes</code></strong>, and to some extent, <strong><code>wp-content</code></strong>.</p> <h3 class="toc-heading" id="wp-content">wp-content <a href="#wp-content" class="anchor">#</a></h3> <p>The <code>wp-content</code> directory consists of user-defined and site-specific files, including themes, plugins, and uploads. The repository only contains a <code>wp-content</code> directory for the bundled plugins and themes.</p> <p class="toc-jump"><a href="#top">Top ↑</a></p><h3 class="toc-heading" id="wp-includes">wp-includes <a href="#wp-includes" class="anchor">#</a></h3> <p>The <code>wp-includes</code> directory consists of the primary core and third-party libraries for WordPress. Many of these files are loaded as the application is bootstrapped.</p> <p>The files in <code>wp-includes</code> go by a mostly standard set of prefixes and suffixes:</p> <ul> <li><code>class-*.php</code> — PHP classes. Some of these are external libraries.</li> <li><code>ms-*.php</code> — Code specific to WordPress multisite functionality.</li> <li><code>default-*.php</code> — Code that implements or defines default functionality, namely constants, widgets, and filters.</li> <li><code>*deprecated.php</code> — Functions which are deprecated.</li> <li><code>*-template.php</code> — Template functions for the relevant API.</li> </ul> <p>The files in wp-admin/includes follow similar naming conventions.</p> <p class="toc-jump"><a href="#top">Top ↑</a></p><h3 class="toc-heading" id="wp-admin">wp-admin <a href="#wp-admin" class="anchor">#</a></h3> <p>The <code>wp-admin</code> directory consists of the administration area for WordPress. The primary bootstrap is <code>wp-admin/admin.php</code>. Other special files include <code>admin-header.php</code> and <code>admin-footer.php</code>, the AJAX handler <code>admin-ajax.php</code>, and the generic POST handler <code>admin-post.php</code>.聽Most of the files in the <code>wp-admin</code> directory are pages in the WordPress admin.</p> <p>The <code>wp-admin/includes</code> directory consists of the primary core and third-party libraries available and used in the administration area. Some of these are loaded as the admin is bootstrapped — see <code>wp-admin/includes/admin.php</code> for the primary list of files included.</p> <p class="toc-jump"><a href="#top">Top ↑</a></p><h3 class="toc-heading" id="javascript-css">JavaScript & CSS <a href="#javascript-css" class="anchor">#</a></h3> <p>The <code>wp-admin</code> and <code>wp-includes</code> directories also have <code>js</code> and <code>css</code> directories, for scripts and styles. Third-party scripts are packaged in a compressed and minified state, which are available at http://wordpress.org/download/source/. Both minified and development versions are included for core scripts and styles, with the minified versions receiving the suffixes <code>.min.js</code> and <code>.min.css</code>.</p> <p>The <code>wp-includes</code> directory has a number of third-party libraries in folders. The <code>wp-includes/js</code> directory, in particular, has <code>jquery</code> and <code>tinymce</code> directories, with the former holding jQuery, jQuery UI, and various plugins, and the latter holding TinyMCE and various TinyMCE core and WordPress extensions.</p> <p>The <code>wp-includes/script-loader.php</code> file registers all bundled scripts and styles. Each script and style is given a date-specific version number (yyyymmdd) which is bumped by a committer when the stylesheet changes. The version number is added to the URL, forcing the browser cache to clear and the new CSS or JavaScript to be loaded.</p> <p class="toc-jump"><a href="#top">Top ↑</a></p><h2 class="toc-heading" id="searching-and-browsing-code-history">Searching and Browsing Code History <a href="#searching-and-browsing-code-history" class="anchor">#</a></h2> <p>To search the codebase, developers rely on either a project search tool in their code editor or IDE, or command-line utilities such as <code>ack</code> or <code>grep</code>. Browsing the codebase on Trac is聽manageable, but one particular feature is noteworthy: Trac includes an excellent user interface for the Subversion <code>blame</code> command.</p> <p>To “blame” a line of code would be to determine who last edited that line, and when. To access this in Trac when browsing a file, click the “Annotate” link in the top right corner. Most consider the UI far more efficient than individual svn blame commands.</p> <p>Core committers do not make changes to WordPress lightly, and commits should never occur without as complete understanding of the existing code as possible. If the code causes a bug, was that always the case? When was it introduced? Why? Is the code in question a fix for a different bug? These questions and more are very important. For more, consult the section on <a href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/the-code-repository-svn/code-history/">Researching Code History with Subversion Annotate</strong></a>.</p> <p class="toc-jump"><a href="#top">Top ↑</a></p><h2 class="toc-heading" id="installation">Installation <a href="#installation" class="anchor">#</a></h2> <p>When a WordPress install is initially run, if a <code>wp-config.php</code> file cannot be located, the <code>wp-load.php</code> file will suggest you visit <code>wp-admin/setup-config.php</code> to create the configuration file.</p> <p>Once this is done, you’ll be taken to <code>wp-admin/install.php</code>. At this point, the database tables are created. The database schema is stored in <code>wp-admin/includes/schema.php</code>, and the installation libraries are primarily located in <code>wp-admin/includes/upgrade.php</code>.</p> <p class="toc-jump"><a href="#top">Top ↑</a></p><h2 class="toc-heading" id="database-upgrades">Database Upgrades <a href="#database-upgrades" class="anchor">#</a></h2> <p>The <code>upgrade.php</code> also includes database upgrade instructions. Whenever something about the database needs to change with a new version of WordPress — whether that means altering the database structure, or updating some database content — an upgrade routine can be triggered. Indeed, you can safely update from WordPress 0.70 to the latest version with the database keeping up with the changes over the better part of a decade of progress.</p> <p>Knowing when to upgrade is handled by a number in <code>wp-includes/version.php</code>, the WordPress database version. This number corresponds to a revision number of the codebase, generally the revision that last introduced a database upgrade routine. When the number in the code differs from the number stored in the database, the routines in <code>wp-admin/includes/upgrade.php</code> are run.</p> <p>The function聽<code>wp_upgrade()</code> calls, among other functions,聽<code>upgrade_all()</code>, which will run the appropriate routines in sequence.聽In order to trigger a new routine, a schema bump — changing the right numbers, including the WordPress database version in <code>version.php</code> — needs to occur.</p> <p>Changes to the database structure are handled by a function called <code>dbDelta()</code>, which takes the table definitions, compares them to the existing schema, and makes any changes — adding new tables, altering fields, adding indexes — that are required. For <code>dbDelta()</code> to run over the core table definitions, the DB version in <code>version.php</code> simply needs to be bumped.</p> <p class="toc-jump"><a href="#top">Top ↑</a></p><h2 class="toc-heading" id="file-updates">File Updates <a href="#file-updates" class="anchor">#</a></h2> <p>Core developers generally distinguish between database “upgrades” and version “updates.” Updating WordPress to the newest codebase (via the user interface) triggers a complex series of actions.</p> <p>Prior to any update, WordPress has already polled <code>api.wordpress.org</code> to determine whether it needs to update, and if so, where to find the new version. Once the update is triggered, WordPress will download the ZIP archive and unzip it to a temporary directory in <code>wp-content/upgrade</code>. A single file, <code>wp-admin/includes/update-core.php</code>, will be copied out of the temporary directory and over the existing <code>wp-admin/includes/update-core.php</code>, at which point it will be executed. Thus, newly downloaded code then handles the main process of copying over the new files.聽This allows us to provide instructions specific to the new version, such as which files are old and can be removed.</p> <p class="toc-jump"><a href="#top">Top ↑</a></p><h2 class="toc-heading" id="exploring-the-code">Exploring The Code <a href="#exploring-the-code" class="anchor">#</a></h2> <p>These tools may be useful in exploring the WordPress codebase:</p> <ul> <li><a href="https://web.archive.org/web/20130116024813/http://adambrown.info/p/wp_hooks">Adam Brown’s Hook database</a></li> <li><a href="https://web.archive.org/web/20130116024813/http://codex.wordpress.org/Function_Reference">Codex Function Reference</a></li> <li><a href="https://web.archive.org/web/20130116024813/http://codex.wordpress.org/Template_Tags">Codex Template Tags list</a></li> <li><a href="https://web.archive.org/web/20130116024813/http://hitchhackerguide.com/function-filter-action-index/">Hitchhacker’s Guide: Function, Filter and Action index</a></li> <li><a href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/">Make.WordPress.org</a></li> <li><a href="https://web.archive.org/web/20130116024813/http://queryposts.com/">QueryPosts.com</a></li> <li><a href="https://web.archive.org/web/20130116024813/http://phpxref.ftwr.co.uk/wordpress/nav.html?index.html">Westi’s PHPXref</a></li> <li><a href="https://web.archive.org/web/20130116024813/https://github.com/WordPress/WordPress/">WordPress on GitHub</a></li> </ul> </div><!-- .entry-content --> <footer class="entry-meta"> </footer><!-- .entry-meta --> </article><!-- #post-3851 --> <div id="comments"> <div id="respond"> <h3 id="reply-title">Leave a Reply <small><a rel="nofollow" id="cancel-comment-reply-link" href="/web/20130116024813/http://make.wordpress.org/core/handbook/the-wordpress-codebase/#respond" style="display:none;">Cancel reply</a></small></h3> <p class="must-log-in">You must be <a href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/wp-login.php?redirect_to=http%3A%2F%2Fmake.wordpress.org%2Fcore%2Fhandbook%2Fthe-wordpress-codebase%2F">logged in</a> to post a comment.</p> </div><!-- #respond --> </div><!-- #comments --> </div><!-- #content --> </div><!-- #primary --> </div><!-- #main --> <footer id="colophon" role="contentinfo"> <div id="site-generator"> <a href="https://web.archive.org/web/20130116024813/http://wordpress.org/" title="Semantic Personal Publishing Platform" rel="generator">Proudly powered by WordPress</a> </div> </footer><!-- #colophon --> </div><!-- #page --> <div style="display:none"> </div> <link rel="stylesheet" id="notes-admin-bar-rest-css" href="https://web.archive.org/web/20130116024813cs_/http://s0.wp.com/wp-content/mu-plugins/notes/admin-bar-rest.css?ver=2.0.2-201303" type="text/css" media="all"/> <link rel="stylesheet" id="noticons-css" href="https://web.archive.org/web/20130116024813cs_/http://s0.wp.com/i/noticons/noticons.css?ver=2.0.2-201303" type="text/css" media="all"/> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://make.wordpress.org/core/handbook/wp-includes/js/admin-bar.min.js?ver=3.6-alpha-23288"></script> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://s0.wp.com/wp-content/js/devicepx-jetpack.js?ver=201303"></script> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://s.gravatar.com/js/gprofiles.js?ver=2013Janaa"></script> <script type="text/javascript"> /* <![CDATA[ */ var WPGroHo = {"my_hash":""}; /* ]]> */ </script> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://make.wordpress.org/core/handbook/wp-content/plugins/jetpack/modules/wpgroho.js?ver=3.6-alpha-23288"></script> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://s1.wp.com/wp-content/js/mustache.js?ver=2.0.2-201303"></script> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://make.wordpress.org/core/handbook/wp-includes/js/underscore.min.js?ver=1.4.1"></script> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://make.wordpress.org/core/handbook/wp-includes/js/backbone.min.js?ver=0.9.2"></script> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://s0.wp.com/wp-content/js/postmessage.js?ver=2.0.2-201303"></script> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://make.wordpress.org/core/handbook/wp-content/plugins/jetpack/_inc/spin.js?ver=1.2.4"></script> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://make.wordpress.org/core/handbook/wp-content/plugins/jetpack/_inc/jquery.spin.js?ver=3.6-alpha-23288"></script> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://s0.wp.com/wp-content/mu-plugins/notes/notes-rest-common.js?ver=2.0.2-201303"></script> <script type="text/javascript" src="https://web.archive.org/web/20130116024813js_/http://s0.wp.com/wp-content/mu-plugins/notes/admin-bar-rest.js?ver=2.0.2-201303"></script> <script src="https://web.archive.org/web/20130116024813js_/http://stats.wordpress.com/e-201303.js" type="text/javascript"></script> <script type="text/javascript"> st_go({v:'ext',j:'1:2.0.2',blog:'38277672',post:'3851'}); var load_cmc = function(){linktracker_init(38277672,3851,2);}; if ( typeof addLoadEvent != 'undefined' ) addLoadEvent(load_cmc); else load_cmc(); </script> <div id="wpadminbar" class="nojq nojs" role="navigation"> <a class="screen-reader-shortcut" href="#wp-toolbar" tabindex="1">Skip to toolbar</a> <div class="quicklinks" id="wp-toolbar" role="navigation" aria-label="Top navigation toolbar." tabindex="0"> <ul id="wp-admin-bar-root-default" class="ab-top-menu"> <li id="wp-admin-bar-wp-logo" class="menupop"><a class="ab-item" aria-haspopup="true" href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/wp-admin/about.php" title="About WordPress"><span class="ab-icon"></span></a><div class="ab-sub-wrapper"><ul id="wp-admin-bar-wp-logo-external" class="ab-sub-secondary ab-submenu"> <li id="wp-admin-bar-wporg"><a class="ab-item" href="https://web.archive.org/web/20130116024813/http://wordpress.org/">WordPress.org</a> </li> <li id="wp-admin-bar-documentation"><a class="ab-item" href="https://web.archive.org/web/20130116024813/http://codex.wordpress.org/">Documentation</a> </li> <li id="wp-admin-bar-support-forums"><a class="ab-item" href="https://web.archive.org/web/20130116024813/http://wordpress.org/support/">Support Forums</a> </li> <li id="wp-admin-bar-feedback"><a class="ab-item" href="https://web.archive.org/web/20130116024813/http://wordpress.org/support/forum/requests-and-feedback">Feedback</a> </li></ul></div> </li></ul><ul id="wp-admin-bar-top-secondary" class="ab-top-secondary ab-top-menu"> <li id="wp-admin-bar-search" class="admin-bar-search"><div class="ab-item ab-empty-item" tabindex="-1"><form action="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/" method="get" id="adminbarsearch"><input class="adminbar-input" name="s" id="adminbar-search" type="text" value="" maxlength="150"/><input type="submit" class="adminbar-button" value="Search"/></form></div> </li> <li id="wp-admin-bar-log-in"><a class="ab-item" href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/wp-login.php">Log In</a> </li> <li id="wp-admin-bar-notes" class="menupop"><div class="ab-item ab-empty-item"><span id="wpnt-notes-unread-count" class="wpnt-loading wpn-read"> <span class="noticon noticon-notification"/></span> </span></div><div id="wpnt-notes-panel" style="display:none"><div class="wpnt-notes-panel-header"><span class="wpnt-notes-header">Notifications</span><span class="wpnt-notes-panel-link"></span></div></div> </li></ul> </div> <a class="screen-reader-shortcut" href="https://web.archive.org/web/20130116024813/http://make.wordpress.org/core/handbook/wp-login.php?action=logout&_wpnonce=318795581c">Log Out</a> </div> </body> </html><!-- FILE ARCHIVED ON 02:48:13 Jan 16, 2013 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 06:28:32 Feb 18, 2025. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.669 exclusion.robots: 0.031 exclusion.robots.policy: 0.018 esindex: 0.013 cdx.remote: 6.056 LoadShardBlock: 162.377 (3) PetaboxLoader3.datanode: 107.74 (4) PetaboxLoader3.resolve: 135.114 (2) load_resource: 99.754 -->