New Theme Directory

The update to the WordPress Theme Directory from ten days ago marks the first time since its inception in 2008 that it has seen a major overhaul. The work on it is not done, but I want to take a few minutes and outline the objectives, what we gained from the update, and what still needs some work in the future.

The Goals

The WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ infrastructure is almost as old as WordPress itself, with lots of interdependencies, running a mix of GlotPress, an old version of bbPressbbPress Free, open source software built on top of WordPress for easily creating forums on sites. https://bbpress.org., BuddyPress, and WordPress. Since the Theme Directory was still based on bbPress, one the main goal was obviously to have it use WordPress. It was also in dire need of a design refresh and improvements to its search-ability.

The Gains

The Directory is now finally running on WordPress! It’s part of the WordPress.org multisiteMultisite Multisite is a WordPress feature which allows users to create a network of sites on a single WordPress installation. Available since WordPress version 3.0, Multisite is a continuation of WPMU or WordPress Multiuser project. WordPress MultiUser project was discontinued and its features were included into WordPress core.https://codex.wordpress.org/Create_A_Network. network and reaping all the benefits that come with that. With the move to WordPress and the resulting data format change, the theme downloader was also rewritten, along with the info and update check endpoints of the Themes APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways., and the script that syncs theme review results. User profiles and theme ratings also saw a small update.

For the first time, the Directory is now open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. and the theme and plugin that do the heavy listing can be viewed, checked out, and contributed to on metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. tracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. and svn!

Front-end

The front-end is largely based on @matveb‘s work on THX and the theme installer, which results in a now consistent user experience between WordPress’ admin interface and the Directory. It also lets us take advantage of those super fast searches and front-end query caches that we have come accustomed to. The move also came with free improvements to the tag filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. (tag permalinks!) and introduced author “archives”. THX was built for the backend, so there were some adjustments needed to make all pages search engine accessible and to make URLs then also consistently work between the server and JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. side.

The pages from the left hand navigation were drastically simplified and merged, leaving us only with preamble page to the uploader, the uploader itself, and the page of commercial theme shops.

Commercial Theme Shops

Theme shops used to be a multidimensional array where each change meant a code change that had to be committed. They finally became a Custom Post TypeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. of their own, vastly simplifying their administration. If you look at their page, you’ll also notice that it reuses the regular theme UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing., nicely making them blend in with the rest of the Directory.

Needs more work

We wanted to get the new Directory into the hands of users as fast as responsibly possible, but that doesn’t mean that it’s finished or doesn’t need any more work. On the admin side a custom post status for suspended themes will be added, as well as a custom view for themes that have new version pending. Eventually there will probably also be a simpler way to approve new versions and set them live from wp-admin. On the front-end the JS and CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. files that power most of the Directory will be merged, removing the direct THX dependency that we currently have (it already broke parts of the directory during betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process.), and also removing two file requests on a page load.

The #1 feature request for the Theme Directory is probably multi-author support. With the move, this is going to be infinitely easier to achieve and will also be available shortly. This should also make it possible to change authors on a theme without too much overhead.

Finally, the Directory is meant to also be made available to rosetta sites. The theme and pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party are fully localized and already translated in a good amount of languages, it’s down to figuring out how we can integrate that site of the WordPress.org network with localized subdomains.

#theme-directory