Deep within the source code of WordPress lies an endless list of useful functions just waiting for you to use them in your theme or plugin. The problem is, most people don’t know they exist, probably because the Codex is ridiculously underdeveloped, and most people hate looking through source code. Luckily for you, reading the WordPress source code is a hobby of mine.
So, I compiled a list of some of my favorites. Some are simple and can be used by pretty much everyone; others have less common uses; but, all of them are incredibly useful.
wp_mail() function is essentially a super-easy function that allows you to easily send an email to anyone you want by just passing a few simple arguments. For example:
<?php $to = 'firstname.lastname@example.org'; $subject = 'Hello from my blog!'; $message = 'Check it out -- my blog is emailing you!' $mail = wp_mail($to, $subject, $message); if($mail) echo 'Your message has been sent!'; else echo 'There was a problem sending your message. Please try again.'; ?>
You can also specify third and fourth parameter,
$attachments. Seriously, this function takes all of the heavy lifting out of sending pretty much any kind of email you can think of.
This function gives us the ability to display a “Login” link on our theme, so we can easily log in without having to manually type in the
/wp-login.php URL. But it goes beyond just that. If we’re already logged in, instead of displaying a “Login” link, it displays a “Logout” link that allows us to log out of our account without having to visit the dashboard.
This function is incredibly useful for theme authors, since it does all the logic for you. If you’re still manually adding the link to login our logout, you’re wasting your time. Do yourself a favor and use
This function takes a URL input and tests it to make sure it is structured correctly. It can add the
http:// to the front of a URL if it’s missing, it converts ampersands to their correct HTML character, and a few other things that fix poorly structured URLs.
There are use-cases a-plenty, but the one that comes to my mind is the ability to let a user enter a URL in a theme options or plugin settings page, and NOT require them to “include
http://“. If the function did nothing else, that alone would make it useful to me.
This function is converts line breaks in strings of text to
<br /> tags, and makes a double line break into a new paragraph by ending the first paragraph,
</p>, and starting a new one,
<p>. It also opens and closes the entire string with paragraph tags, so the whole thing is formatted correctly.
If you are ever storing strings of text in a database that you need to display on the front end, but wondered how to turn those line breaks into valid HTML during output, this is the function for you. In fact, this is the function WordPress uses to format posts when outputting
5. wp_rss() / get_rss()
These functions can pull in data from an RSS feed, parse it, and (depending on how you handle it) can display the data in a useful format like a list with links.
UPDATE: WordPress has recently deprecated these functions and replaced them with a MUCH better function, fetch_feed(). This new function is beneficial because it uses the SimplePie RSS tool to parse the feed, and uses built-in WordPress caching mechanism (Transients) to store the data locally, which keeps things quick.
I’ve used these functions on several client sites where they wanted me to pull in stories from other news sources to be displayed in a section of their website. All you need to do is provide an RSS feed address, and the function(s) do(es) the hard work.
One caveat is that you do need to do a PHP include before you can use these functions. It’s only one extra line of code though:
<?php include_once(ABSPATH . WPINC . '/rss.php'); // < -- this is the include call wp_rss('http://example.com/rss/feed/goes/here', 5); // <-- this is the function ?>