Categories
Coding Projects

Hello Dolly plugin

Hello Dolly plugin with only 2 files

A very basic and simple plugin is a single PHP file. The plugin PHP file just needs a Plugin Header, a couple of PHP functions and some hooks to attach your functions to it. Also, a readme.txt file would be nice to follow WordPress.org standards.

The Hello Dolly plugin is an example of such a plugin. Hello Dolly plugin is made with only 2 files, hello.php and readme.txt When activated you will randomly see a lyric from “Hello Dolly” in the upper right of your administration screen on every page.

Let’s look at the code within the main file, the hello.php file:

<?php
/**
 * @package Hello_Dolly
 * @version 1.7.2
 */
/*
Plugin Name: Hello Dolly
Plugin URI: http://wordpress.org/plugins/hello-dolly/
Description: This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly. When activated you will randomly see a lyric from <cite>Hello, Dolly</cite> in the upper right of your admin screen on every page.
Author: Matt Mullenweg
Version: 1.7.2
Author URI: http://ma.tt/
*/

function hello_dolly_get_lyric() {
	/** These are the lyrics to Hello Dolly */
	$lyrics = "Hello, Dolly
Well, hello, Dolly
It's so nice to have you back where you belong
You're lookin' swell, Dolly
I can tell, Dolly
You're still glowin', you're still crowin'
You're still goin' strong
I feel the room swayin'
While the band's playin'
One of our old favorite songs from way back when
So, take her wrap, fellas
Dolly, never go away again
Hello, Dolly
Well, hello, Dolly
It's so nice to have you back where you belong
You're lookin' swell, Dolly
I can tell, Dolly
You're still glowin', you're still crowin'
You're still goin' strong
I feel the room swayin'
While the band's playin'
One of our old favorite songs from way back when
So, golly, gee, fellas
Have a little faith in me, fellas
Dolly, never go away
Promise, you'll never go away
Dolly'll never go away again";

        // Here we split it into lines.
	$lyrics = explode( "\n", $lyrics );

	// And then randomly choose a line.
	return wptexturize( $lyrics[ mt_rand( 0, count( $lyrics ) - 1 ) ] );
}

// This just echoes the chosen line, we'll position it later.
function hello_dolly() {
	$chosen = hello_dolly_get_lyric();
	$lang   = '';
	if ( 'en_' !== substr( get_user_locale(), 0, 3 ) ) {
		$lang = ' lang="en"';
	}

	printf(
		'<p id="dolly"><span class="screen-reader-text">%s </span><span dir="ltr"%s>%s</span></p>',
		__( 'Quote from Hello Dolly song, by Jerry Herman:', 'hello-dolly' ),
		$lang,
		$chosen
	);
}

// Now we set that function up to execute when the admin_notices action is called.
add_action( 'admin_notices', 'hello_dolly' );

// We need some CSS to position the paragraph.
function dolly_css() {
	echo "
	<style type='text/css'>
	#dolly {
		float: right;
		padding: 5px 10px;
		margin: 0;
		font-size: 12px;
		line-height: 1.6666;
	}
	.rtl #dolly {
		float: left;
	}
	.block-editor-page #dolly {
		display: none;
	}
	@media screen and (max-width: 782px) {
		#dolly,
		.rtl #dolly {
			float: none;
			padding-left: 0;
			padding-right: 0;
		}
	}
	</style>
	";
}

add_action( 'admin_head', 'dolly_css' );
Hello Dolly plugin reviews on WordPress.org

Hello Dolly plugin reviews are so negative!

So, why is this plugin so criticised? Why does WordPress.org include it on every install of WordPress? Is it totally useless? We can understand why so many users are annoyed by having to delete it after the install, but novice users are a category apart from programmers.

Apparently, this plugin does not do anything special at all, apart from the fact that “it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly.”

Well, we cannot say why WordPress.org insists on including it on every install but despite the fact that it looks pretty useless, we think that you just need a bit of imagination (as a programmer) to be able to use it during plugins development. Why and how can you do that?

If you add the above code to your plugin’s main .php file, you will be able to see if your plugin is active or not, even if your plugin does not execute other pieces of code and it will be much easier to debug your own code and find out what is wrong. You will easily see the song’s words being displayed on your website’s administration board and once you finish your plugin, you can easily remove this “useless” piece of code. Cool?

Also, if you work a lot with the WordPress REST API, the plugin Hello Dolly is very useful to test the plugins endpoint. Why? It is a simple plugin without side effects so you can install/activate/deactivate as much as you need to when developing. When and if your code works and you successfully install the plugin via the REST API, you are rewarded with a positive message in the dashboard. Got that?

Leave a Reply

Your email address will not be published.