Improving the Plugins page

The WordPress Plugins page has barely changed in 5 years or more – compare WP 2.7.1 with 3.9.1.

The very first page seen by a new user who clicks on the Plugins tab is a list view showing two installed plugins. The main thing thing that has changed since 2.7 is that the way to find and install new plugins has become less obvious.

Similarly, the 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-install page has barely changed in that time: WP 2.7.1 and 3.9.1.

The default page is very much geared towards maintenance by established users. The most common interaction is probably deactivating and reactivating plugins for troubleshooting – certainly a necessary task, but I think it misses a good opportunity for helping people to find and use the plugins they need.

There are a number of improvements that could be made with relatively minor changes:

Improve the experience for new and infrequent users.

  • The obvious fix here would be to make the path for discovering and installing new plugins much more obvious than the “Add New” link. Perhaps even go as far as making plugin-install.php the default page.
  • The Search Installed Plugins box on plugins.php is easily mistaken for a plugin directory search. Either make it less confusing, or use a unified search.
  • When searching for plugins in the directory via plugin-install.php, tailor the results to the current WP version. Give more weight to those that are compatible with the current version, and/or 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. out those that are likely to be incompatible.

Help users to discover the plugins they need, especially the most robust and well-maintained.

  • On the Add New page, the most common tags in the cloud are “widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user.”, “post” and “plugin”. It’s next to useless. Replace it with a well-defined list of categories more in line with common needs: “contact forms”, “image galleries”, “security” and so on.
  • Improve the quality of plugin directory search results generally. Incorporate things like ratings, support stats, age, usage stats, and update frequency in the relevancy scores.
  • Augment or replace version compatibility votes with stats based on active installs per WP version.
  • Re-evaluate the tabs on the Install Plugins page. Is “Newest” helpful? Should “Popular” or “Featured” have a summary on the main page?
  • Improve the algorithm used for averaging ratings, to smooth out errors for plugins with only a handful of ratings.
  • Change the columns displayed in Search Results. “Version” doesn’t need a column; but compatibility and age ought to be shown.
  • Also show compatibility for installed plugins #27699
  • Improve the ordering and filtering possible in the plugin search 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. #12696 and #27316

Improve the way detailed information is given about plugins.

  • Either eliminate the thickbox for the plugin details, or make it more consistent with the theme browser (allow next/prev)
  • Add a Details view for installed plugins #17902
  • Show reviews in the detailed view #22599
  • Show contributors in the detailed view #19784
  • Show the plugin’s banner in the detailed view, and generally make it more consistent with what’s on the web site.

Help and encourage developers to publish and maintain their plugins.

  • Support screenshots, logos, or banners in the search results, installed plugin list and plugin directory.
  • Do a better job of handling ratings, reviews, updates, and support stats, especially when determining search ordering and popularity.
  • Improve the profile page to list version compatibility, support stats, and other useful info for all your plugins.
  • Add a version requirement check and/or upgrade prompt #26909 and #27323

And finally there are some other tickets suggesting improvements and fixes that could use a second look:

  • #28085 – Recently Updated plugins view (recently updated installed plugins)
  • #20578 – allow delete without uninstall
  • #27110 – allow filtering the plugin list
  • #26202 – bugfix for thickbox title truncation
  • #27623 – search results for a single space
  • #27994 – handling of automatic plugin deactivation in the event of an error

I’m working on the API side, starting with improvements to search quality. There are tickets above for many of these items already. If you’d like to help out, keep an eye on the Plugins Component in tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., open and help with tickets. Or leave a comment here with your suggestions if you’re interested.

 

 

 

 

 

#plugins

Symlinked Plugins in WordPress 3.9

One of the cool little features included with 3.9 is the ability to symlink 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 directories. While it has been possible to symlink plugins in the past, functions such as plugins_url() return the wrong URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org, which causes breakage in most plugins.

In #16953, r27158 and the followup r27999, we corrected this with the help of a new function: wp_register_plugin_realpath(). This function is called automatically during the plugin loading phase, and registers which plugin directories are symlinked, and where they’re symlinked to. This functionality is then used by plugin_basename() (the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. of plugins_url(), along with other
functions) to reverse symlinks and find the correct plugin directory.

This enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. means that you can symlink individual plugin directories, or even the whole plugins directory itself.

For anyone who’d like to use this, keep in mind that there are a few caveats:

  • Single-file plugins are not handled by this code. Any plugins you’d like to symlink must be in subdirectories of the main plugins folder. This restriction is due to the way these paths are registered.

    You can still symlink single-file plugins, however any use of plugin_basename() will be as broken as it was before 3.9. This is not a huge issue, as the main use of this is in plugins_url(), which is not frequently used in single-file plugins.

  • Must-use plugins cannot be symlinked. For the same reasons as single-file plugins, mu-plugins are not handled.

    For anyone using the common pattern of subdirectories within mu-plugins with a common loader file, you can use wp_register_plugin_realpath() directly to ensure that your subdirectories are handled.

    The following example code demonstrates how to use the function:

    <?php
    $plugins = array(
    	'my-mu-plugin/my-mu-plugin.php',
    );
    foreach ( $plugins as $plugin ) {
    	$path = dirname( __FILE__ ) . '/' . $plugin;
    
    	// Add this line to ensure mu-plugins subdirectories can be symlinked
    	wp_register_plugin_realpath( $path );
    
    	include $path;
    }
    

    Hopefully this change is as helpful for you as it was for me! One of the great advantages to this is that plugin developers can keep their plugin separate from their WordPress installation. This is a boon for developers with multiple installs who want to test compatibility; keep in mind that you can symlink the entire plugins directory if you’re testing multiple!

    If you have any questions about this, please leave a comment on this post and we’ll be happy to help you out!

    #3-9, #dev-notes, #plugins, #symlinks

In the better late than never category notes…

In the better late than never category: notes about plugins from core team meetup in December! https://make.wordpress.org/plugins/2012/08/18/93/

#wptybee, #meetup, #plugins

A bunch of unused images were removed from…

A bunch of unused images were removed from coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. in changeset 21498. Several of them were background gradients that were replaced with CSSCSS Cascading Style Sheets. 3 gradients. The rest have been unused in core for few releases.

However there are some plugins that use a few of these images and would need updating. Best thing to do would be to copy the images locally as that makes a 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 independent from core changes. If the images were gradients, best would be to use CSS 3 gradients (example).

#plugins

On Saturday Matt posted to the WordPress Blog…

On Saturday, Matt posted to the WordPress Blog that the 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 directory has been refreshed.

Also also posted to our new P2P2 A free theme for WordPress, known for front-end posting, used by WordPress for development updates and project management. See our main development blog and other workgroup blogs. at make.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//plugins: what this means for developers. @otto42, @coffee2code, and I go through the changes in detail. They include:

  • The new Developers and Support tabs for plugins
  • Subscribing to commit emails (Hint: see the Developers tab)
  • Following and managing support threads
  • How the new support statics are calculated

(SidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.: We hope to use make.wordpress.org/plugins for announcements and resources for plugin developers. This blogblog (versus network, site) will also move to make.wordpress.org soon. More to come.)

#plugin-directory, #plugins

Plugin committers now receive svn notify emails with…

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 committers now receive svn notify emails with every commit to their plugin. This is something we’ve been planning to do to assist with collaboration, but we added it today without extra things like being able to sign up for other plugins. (Look for that soon, though.)

And not to sound like the PA in a subway or at an airport, but if you see something, say something. Say things to security@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/.

#plugins, #svn, #wordpress-org

Commit access has been restored for plugins If…

Commit access has been restored for plugins. If you get a 403 error, you need to go reset your password. Please, to something new.

#plugins, #svn, #wordpress-org

It was pointed out to me that I never me…

It was pointed out to me that I never mentioned it anywhere when I made this change last month, but the plugin search engine at https://wordpress.org/extend/plugins/ has been much improved. So now when you search for things like “buddypress”, you should get what you’re looking for on the first page of results more often.

It was a minor adjustment, so it didn’t occur to me to tell anybody. Sorry about that. 🙂

#extend, #plugins, #wordpress-org

New for Extend/Plugins: If a user clicks…

New for Extend/Plugins:

If a user clicks the “Broken” link, it will record the click as usual, but now also redirect them to the start a new topic support form, and nicely ask them to leave a new topic explaining what’s broken. Hopefully, this will make the broken button more useful.

Note: if you want to test this, feel free, but realize that you’re marking the 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 as broken by doing so, whether you leave a new topic or not. So please, go back afterwards and change your vote to “works” if it really does work.

#compatibility, #extend, #plugins

Gravatars are now shown on the plugin li…

Gravatars are now shown on the 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 listing page. It’s a minor thing, but people like pictures and clicking on pictures. Clicking on somebody’s picture will take you to their plugin profile, showing all their plugins.

#plugins