WordPress

General WordPress Articles & Videos Tutorials

WordPress powers over 23% of the top 100million websites in 2014, it’s Open Source and available to anyone for free, and it’s one of the most talked about software projects in the world. On this site Tim talks about WordPress concepts, tutorials and videos focusing on more niche aspects of running a WordPress site, be it in a large enterprise environment or a small vanity site.

Advanced WordPress Training Courses

In addition to the articles below, Tim runs a range of Advanced WordPress Courses in the UK throughout the year. Details are available on the link above.

Let me decide where I put my secrets

Many plugins call on 3rd party services when they do those services often provide some form of credentials and 9 times out of 10 those credentials get stored in wp-options table. Except I don’t want my security credentials in my database. Where you store you secrets can be deeply personal thing.

A common way to call credentials in plugin is something along the lines of

$api_key = get_option( 'mysecretkey' );
define( 'SECRETKEY', $api_key );

if you are going to do that, then try this instead

if ( ! defined( 'SECRETKEY' ) ) {
$api_key = get_option( 'mysecretkey' );
define( 'SECRETKEY', $api_key );
}

By checking if it’s already defined before pulling it from DB it allows me to add the API key in the wp-config.php and avoid putting it in my DB.

If you develop plugins that make use of third party services and storing API keys, then give your users the flexibility to store the keys where they want.