Connect with us

WordPress Coding & Design

Create a Contact Page Part III



I recommend you read Part I and Part II of this series if you haven’t already.

In the previous posts on this subject, I’ve explained the basic page template and the validation that we need to do for our contact form. Finally we can deal with the actual emailing of the form content and then put it all together.

Emailing the form content

The theory behind this is to grab all of the information from the form, put it into a message variable. Perhaps also add in some extra info for ourselves eg. their IP and browser type. So first off we need to get all of the information from the form. To make lives easier for ourself in the future (and we’ve already got a reasonable bit of strict validation in), we can just run through every form element and add it into the message eg.

[sourcecode language=”php”]$message = “”;
foreach ($_POST AS $key => $value) :
$message .= $key.”: “.$value.”\n\n”;

This will mean that you can add new fields to the form and not have to worry about adding additional code into the PHP to get those new fields, as this will get every key and value from the $_POST array. Is it the best option? In theory no. All it would take is someone to post the correct fields plus hundreds more, via their own script, to your form processing script, and your email would be very long. But at the same time, it’s only content, and the email is only coming to you. If you found this to start happening then I’d recommend learning how to retrieve individual field values instead. However, for this form we’ll stick with the above as it’s quicker for now!

So, we’ve got the basics of our message created. We want to add some additional info below it so we can use:

[sourcecode language=”php”]$message .= “\n\nSender Info:\n”;
$message .= “IP: “.$_SERVER[‘REMOTE_ADDR’].””.$_SERVER[‘REMOTE_ADDR’].”\n”;
$message .= “Browser/OS: “.$_SERVER[‘HTTP_USER_AGENT’];[/sourcecode]

This is just a fairly simple addition. The second line will echo out the IP address and link to the whois lookup for it, in case you may want to check where the person is from. Then the final line just tells you the person’s browser and operating system. They’re not 100% accurate, but for most legit people contacting you, it will be, and it’s sometimes interesting to know what people have. Also, if you start to get multiple messages off what appear to be different people, but have the same IP, then you know you could block that IP as they’re clearly just stalking you 😉

Next we need to create our email headers. Whilst a basic header of

"From: ".$email

Will usually work, some servers may reject the email if the headers do not appear complete. So let’s build the headers up properly.

[sourcecode language=”php”]$headers = “From: “.$_POST[‘cfname’].” < ".$_POST['cfemail'].">\n”;
$headers .= “Mime-Version: 1.0\n”;
$headers .= “Content-Type: text/plain; charset=ISO-8859-1\n”;
$headers .= “Content-Transfer-Encoding: 8bit\n”;
$headers .= “Return-Path: < ".$_POST['cfemail'].">\n”;
$headers .= “Errors-To: “.$to_email;[/sourcecode]

This code sets the email to be a plain text email. If you wanted to use HTML in the email then you’d change line 3 from text/plain to text/html. The last line uses a variable which we’ll set at the top of the file, just a simple To email address, so that you don’t have to change it everywhere if you want to change your email in the future.

Then finally we have the code to send the email:

mail($to_email, $subject, $message, $headers);

Again, the $subject will be set at the start, so that you don’t have to go poking around the code once it’s all set up.

You’ve then got two options once the email is sent. You can either return a thank you message on the same page, or redirect the user to a thank you page. Personally I opt for the latter and use the code


Where $redirect is the path to the thank you page on your site from the root eg. “contact-form/thank-you/”.

Final Functions

Just to explain a couple of final functions. These are not essential but as they’re in the final template they just need a brief explanation.

[sourcecode language=”php”]// clean up the form content
foreach ($_POST AS $key => $value) :
if (get_magic_quotes_gpc()) :
$value = stripslashes($value);

$formstuff[$key] = strip_tags($value);

This first function will run through every value submitted in the form and strip and backslashes added by magic quotes (if they’re set to on) and also run strip_tags() which will strip out all HTML tags. Afterall, no one should be sending HTML to you in your contact form 😉 If you want to allow it (considering the email is sent as plain text so the code would just display) then remove line 7.

// function to print out form value, stripping any added backslashes
function get_value ($formvalue) {
if (!empty($_POST[$formvalue])) :
if (get_magic_quotes_gpc()) :
$form_value = stripslashes($_POST[$formvalue]);
echo $form_value;

This function is used when someone partly completes the form but triggers and error. We want to redisplay their content so that they don’t have to retype it. Again, it just checks if magic quotes are set to on and if they are it strips the backslashes out.

// this is the message if there is one.
if (!empty($error_msg)) :
echo "<ul>\n"; // perhaps style the warning class to a bright colour
echo $error_msg;
echo "</ul>\n";

Finally the code to echo our our errors that we’ve saved. Again, only used if someone partially completes the form and triggers a validation error. This will display the errors in a list.

Put it all together

Now we can finally put it all together, along with a couple of if statements to check that we can proceed. The final template can be downloaded. It’s well documented so you should be able to run through it all without a problem. You may need to edit the divs and markup around the form to suit your own template, however comparing this to your page.php or index.php file will show you what needs changing.

Leave any questions below and I’ll do my best to help you out. Ideally mention the line number(s) if it’s about the code, that you’re asking about so that I can look it up 🙂

A PHP Developer using WordPress to power both blogging and commercial CMS sites. I've written and released a couple of plugins for WordPress and am currently writing plugins for use on commercial websites.

Continue Reading

WordPress Coding & Design

Will Artificial Design Intelligence Takeover Web Designing and Development?



Artificial Design Intelligence

The worlds are colliding.

Web designing and development happens in two primary ways:

  1. DIY (bloggers and small business owners buying readymade themes, web hosting account, and setting up the website after reading a lot of online resources)
  2. Agencies (dedicated agencies that create websites from scratch, using manual coding and templates, and these are usually high budget)

There is a third way, which in the next couple of years can replace both the above methods to a large extent. Will it? Let’s see.

Artificial Design Intelligence

Artificial Design Intelligence (ADI) is the ‘third’ way wherein companies are creating technology where a website could design and build itself. In 2003, prior to ADI, Adobe unveiled its suite of web designing tools and the industry experts spelled it as a doomsday for designers.

Will this ADI technology completely eradicate the need for website designers and developers? Certainly not, says David Kosmayer from Bookmark. Bookmark is a website builder that uses ADI to cater to each user’s specific and unique needs. Kosmayer opines that ADI technology will become a productivity tool for innovative developers and designers where the technology will improve and escalate the efforts of the team involved in automating the website development process. He is anticipating a website building ADI revolution with Bookmark, thriving to be at the forefront of this inevitable movement.

David gave me an insider peek into the ADI technology they are developing, scheduled to release in the next couple of weeks. Here it is:

The ADI technology improves possibilities.

I create my own websites and blogs. Now, if I have access to technology that Bookmark is designing, it will simplify my work. It’s unassumingly perfect for eCommerce stores. The ADI asks what kind of store does the user want – from a Bistro to a Laundromat, the user has tons of varieties. Once the basic is uploaded, you can add Focus Groups and Modules, and make the site live.

This ADI technology is akin to a personal assistant that understands my business needs and creates a customized ‘product’ to use.

After Bookmark, companies like Wix and TheGrid have ventured into the AI technology space too.

AI for website development and designing is an uncharted area. Chris Lema has a brilliant article title, Has Website AI Arrived?

The world of content marketing should rejoice. AI technology will strategically and dynamically depend on content to design the layout of the site. Here, content could be anything – article length, article quantity, images, videos and more.

Artificial design intelligence is still in nascent stages.

Who could use ADI technology? Bloggers, digital marketers, affiliate marketers, consultants, and other small business owners will find AI entertaining and useful. This group of professionals is usually a one-man army with a small remote team. It cuts down cost on resources as users will probably use the ADI service on a monthly subscription basis. As such, businesses can focus on branding and generating revenue.

The stress of creating dynamic websites, learning technology, and implementing them is removed entirely.

Personally, I agree with Lema that AI technology for website development and designing is yet to mature. With the coming of chatbots and other AI software, give this a year or two before the artificial design intelligence technology for websites booms.

Continue Reading

WordPress Coding & Design

How to Stop Comment Spam in 60 seconds with CleanTalk



Blog comments can be one of the most valuable assets to your blog, but they can also be a huge burden at the same time. Even with Akismet installed on my blogs, I still have to manually go through and remove the junk and spam comments many of my sites gets on a daily basis.

When I login to my WordPress dashboard, I will continually junk like this just sitting there and waiting for my approval or deletion. The majority of comment spam happens because they are trying to get a backlink to a site, either through a link within the comment or from the username.


If you have a small WordPress site, you might not be getting overwhelmed with spam comments yet, but it’s simply just a matter of time. The worse part is that it’s pretty much all coming in on an automated basis, which means cleaning up your spam comments manually can waste endless hours of your valuable time.

Comment spam is something all bloggers have to deal with, and while there are ways to minimize worthless and fake comments with plugins like Akismet or using CAPTCHA forms, these methods either don’t work or are just too annoying to setup. felt the same way and they wanted to create a comment spam solution that works for all blog site owners, while also having a solution that actually works.

How CleanTalk WordPress Spam Plugins Works

Like most things in the world, you just want the product or service to work and not have to deal with the complexities of how it’s made. This is how most online marketers and bloggers feel — they just want a solution and not have to deal with coding, programming and working with a dev team to figure it out.

CleanTalk is quite advanced on the backend, but super easy to setup and use from a site owner perspective. Through it’s cloud based platform, CleanTalk actively monitors the visitors on your site and makes sure the comments being made, are from actual visitors (not spam bots).

The process of how CleanTalk works, is as follows:

  1. A visitor writes a comment or registers.
  2. CleanTalk plugin sends action parameters into the CleanTalk cloud.
  3. Service analyzes the parameters.
  4. If this is a visitor, the comment will be published. If it’s a spam bot, then CleanTalk blocks this comment or registering.
  5. Parameters are written to the log which can be viewed in the Control Panel service.

Not only does CleanTalk protect your blog comment area, it also covers all forms throughout your site (contact, registrations, etc). When logged into your account through their site, you will also have access to real-time stats on how well it’s protecting your site and showing you what activity is happening where.

How to Install CleanTalk on WordPress

Since CleanTalk is a WordPress plugin, it’s super easy to setup. All you need to do is visit their main site at, create an account and grab your access key on the following page.

After that, all you need to do is head over to your WordPress dashboard, go to the “Plugins” section and search for “CleanTalk”.

CleanTalk Installation

Install the plugin and then throw in your access key and you are ready to go!


To make sure the plugin is properly installed and running, go back to your blog and complete a dummy comment, registration or contact message with the email address and you should then see the plugin react with the message like the one in the screenshot below.


You can also head back to the main dashboard at to monitor your site comment stats and manage how many sites you would like to add the plugin to.

Get Your Free 14 Day Trial of CleanTalk

You can register on the site and install the plugin right away. After completing this step, you will have 14 days of free access to their comment spam blocking service. After the 14 days, you will then have the renew your account.

The good news is that the cost of CleanTalk’s comment spam blocking plugin is just $8 per year, and you can save even more by using coupon code “BLOGGINGTIPS“.

Head over to, create your free account and add the plugin to your site. It’s only takes a couple minutes and it will save you a massive amount of time in the long run. Eliminate comment spam from your site forever!

Continue Reading

WordPress Coding & Design

The Importance of Responsive Web Design



Responsive web design is quickly changing how sites are viewed on the internet and on mobile devices. Back when I first started making money online in the mid 90s, everything was so basic and simple with web design… it was pretty much all HTML.

Then in 2007 I started using WordPress to create my first blog and the rest of my sites there after.

However, this was only the beginning. Now with everyone so focused on using mobile and other various devices to browse the internet and with the wide range of desktop sizes for viewing, it’s now more important than ever to make sure you have a site that is capable with all solutions.

I still find it amazing that I can look up sites on my phone or iPad and still come across sites that aren’t mobile optimized or that don’t load correctly. It’s quite a shame and something that really needs to be fixed immediately. Statistics show that 25% of internet users only access the internet via a mobile device. Have you checked how your site loads on a mobile device lately? If not, it might be time for you to invest some resources into your web design and development. By working alongside a respectable design team, they will be able to improve the performance of your site, while making sure it is fully optimized in the process.

Thus bringing us to responsive web design

Responsive web design refers to a website designed to adapt to whatever device a visitor is using. The same applies for desktop viewing as well. You can make the browser bigger or smaller and the content on the site will continue to adapt to your viewing solution.

Most premium wordpress themes are now responsive as well, as it’s almost become a requirement for site owners now.

When it comes to designing and coding wordpress themes, I’m the last guy that wants to deal with these issues. Fortunately there are designers and teams dedicated to mastering the art of design and wordpress.

For those of you who are wondering how responsive sites are created and the various tech specs involved, be sure to check out the infographic below from

What is Responsive Web Design

Continue Reading