Posted on Leave a comment

Protect Login Page

This is a simple plugin that protects access to your WordPress website’s login page by intercepting the page request and requiring that a PIN number, up to 8 digits, be present in the URL. Without the proper PIN, no login form is displayed, just a simple message. This plugin will make it harder for hackers to get into your website.

Once activated, you will access your login page like this…[your PIN goes here]

IMPORTANT – DO NOT use this plugin if you require login access other than the main WordPress login page, such as the WordPress mobile app.


To install, simply upload the plugin zip file to your WordPress website and activate it. Configure the simple settings in the new menu that will appear in your Settings menu. Explanations of each feature accompany the inputs.

Frequently Asked Questions

Q: How do I log in once the PIN is set?

A: To log in, just add the PIN value to your WordPress login page URL, like so:

Q: Do I have to add this PIN to the URL each time?

A: Yes, but if you set yourself a bookmark your life will be much easier.

Q: Why did you develop this plugin. Isn’t the login protection itself good enough.

A: Maybe, but I got tired of seeing all of the malicious login attempts in my server logs. I decided to come up with a way to stop this.

Q: What happens if I lose my PIN?

A: If you lose your PIN you will not be able to log into your website. Deactivate the plugin in the database (wp_options.eePLP_STATE = ‘OFF’) or rename the plugin’s folder in your files. You may also contact me for a rescue PIN.


Posted on Leave a comment

Can 2 WordPress Websites Share 1 WP-Content Folder?


There are a number of benefits to sharing the WordPress content folder; Both websites will have access to the same themes and plugins. This means that both sites could use a single theme, allowing an easily manageable identical look for two domain names. Media files are saved to the same location, but appear separate in WP. This makes backing up easier.

To accomplish this you need to rearrange things and create symbolic links that go from the old wp-content location to the new shared location. Because I like you, I wrote this quick PHP script to make it easy for you. Simply update the $folderA and $folderB variables to whatever your names are. Then upload the file to your website and run the script in your browser: Then delete the file once you are done.

Download the Script

<?php // This script creates two symbolic links that allow two WordPress sites to share one common wp-content folder
// Rev 07-06-17
error_reporting (E_ALL);
ini_set ('display_errors', TRUE);
// Website A folder name
$folderA = 'mywebsitefolder'; // Existing Website

// Website B folder name
$folderB = 'newsitefolder'; // New website to share content

// Shared content folder name
$content = 'wp-content'; // (at same level as website folders)

// Build paths
$websiteA = $_SERVER['DOCUMENT_ROOT'] . '/' . $folderA;
$contentA = $websiteA . '/wp-content';

$websiteB = $_SERVER['DOCUMENT_ROOT'] . '/' . $folderB;
$contentB = $websiteB . '/wp-content';

$contentShared = $_SERVER['DOCUMENT_ROOT'] . '/' . $content;

// Check if the paths are good...
if( is_dir($contentA) AND is_dir($contentB) ) { //
 // Rename the original wp-content folder
 $contentB_Saved = $contentB . '_SAVED';
 if(!rename($contentB , $contentB_Saved) ) { exit('Error: Website B wp-content could not be renamed. Aborting...'); }
 // Move WebsiteA's wp-content to root
 if(rename($contentA , $contentShared)) {
 // Make the symlinks
 if(symlink($contentShared, $contentA)) {
 echo "<p>Symlink A Created: $contentA<br />---&gt; $contentShared</p>";
 if(symlink($contentShared, $contentB)) {
 echo "<p>Symlink B Created: $contentB<br />---&gt; $contentShared</p>";
 echo '<p>' . readlink($contentShared) . '</p>';
 exit('Success :-) ');
 } else {
 exit('Symlink B Could Not Be Created :-(');
 } else {
 exit('Symlink A Could Not Be Created :-(');
 } else {
 exit('wp-content could not be copied to root :-(');
} else {
 exit('Directory Read Error :-( ' . $contentB);



Posted on Leave a comment

WordPress Plugin – EE Contact Form

EE Contact Form is a simple yet solid email contact form system. This is not a custom form maker. There is a limited set of text input fields, which you may choose to show, require and change the default label.

There is also an option for including a file with the message, spam and word filtering options, and full control over who receives the mail, including CC and BCC capability. Extra effort has gone into reducing contact form spam and external tampering.

I’ve built this plugin primarily for my own use. Its straightforward setup, simple flexibility and difficulty for spambots to abuse makes me look good to my clients.

This website uses EE Contact Form. Try it out by sending me a message!

InstallationPackageIcon - Zip

To install, simply upload the plugin zip file to your WordPress website and activate it. Configure the simple settings in the new menu that will appear in your sidebar. Explanations of each feature accompany the inputs.

To add the plugin to your website, simply add the shortcode found on the main configuration page.


Styling over-rides are very simple as well and this plugin attempts to let your existing site’s styles do much of the work.

After first activation, the database will contain a single new row in the options table, option-name: [[eeContactForm]], containing a short pipe delimited string to store the plugin settings.

Frequently Asked Questions

Q: Why did you go and build another contact form?

A: To be honest, I have developed this for use on the many websites I manage. I could not find a plugin that suited me, so I made my own.

Q: What if I have trouble? Will you help?

A: Yes, to the very best of my ability. Please contact me with any issues: [email protected]

Q: Can I customize the look?

A: Yes, the CSS is easily over-ridden, making it easy for anyone with CSS knowledge to customize the page design.

Q: Can I customize the function of the system?

A: Yes, you are free to modify the PHP. The coding is commented well, so it should be easy to figure out what’s going on. Contact me with questions.

Q: What is the maximum upload file size?

A: This is a setting that you choose in the file configuration. The initial default is 10Mb. The absolute maximum size will depend on your hosting setup. which is automatically detected.

Download the Plugin

This is a beta release and not yet published on Come back here for new versions until then.


Posted on Leave a comment

Types of Content Management Systems

In my last post, I discussed whether a Content Management System was right for you. This time were going to go over a few different types of systems. There are many on the market, ranging from enterprise level systems costing tens of thousands of dollars to open source systems with no purchase cost at all. With each increase in cost, whether its software or implementation, there is an associate cost in ongoing maintenance and time involved in learning the system. For this article Im going to stick to three of the most common open source solutions, plus one commercial product that is not quite a full fledged CMS, but can fit the bill in many situations.

Continue reading Types of Content Management Systems