Tip for Plugin Developers: Inline Changelogs

Recently, the Dev4Press and Weblog Tools Collection blogs made posts about integrating plugin changelogs into the Plugins dashboard. This functionality was something I was already doing in the SEO Ultimate plugin, so I thought I’d share my technique for doing this. (My method is different because it’s simpler and it integrates directly into WordPress’s update message.)

Here’s what an inline changelog looks like when implemented:

Example of inline changelog from SEO Ultimate

As you can see, a small notice like this helps users know at-a-glance what’s new in your plugin update.

Here’s the code you can incorporate into your plugin:

<?php
function my_plugin_update_info() {
	if ( $info = wp_remote_fopen("http://www.example.com/my-plugin-updates.txt") )
		echo '<br />' . strip_tags( $info, "<br><a><b><i><span>" );
}
add_action('in_plugin_update_message-'.plugin_basename(__FILE__), 'my_plugin_update_info');
?>

Of course, to keep plugin users happy, be sure that your inline changelogs are informative and unobtrusive. Happy coding!

(Plugin users, if you’d like to see this feature implemented in your favorite plugins, you could try sending the plugin author a link to this post! You could also check out the new Changelogger plugin.)

5 Comments

  1. Pingback: Announcing the “SEO Ultimate” Plugin

  2. Pingback: WordPress Plugin Competition Blog » SEO Ultimate

  3. I have installed the Changelogger – it does it for every plugin. Personally I think that it displays list of latest changes in more readable fashion. Of course plugin author must include specially formatted Changelog section in plugin’s readme.txt file.

    BTW, could you add check if Changelogger plugin is active and do not display your message in this case?

  4. Thanks.

    I will try your technique.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>