WordPress Plugin: Remove GDPR

GDPR is a Rube Goldberg contraption that serves no real purpose. Get it off your WordPress install!

GDPR is a European Union law which makes about as much sense as 2 + 2 = 5. Americans DO NOT have to obey GDPR. It is a violation of the 1st Amendment to the United States Constitution. This plugin removes GDPR features from WordPress. LONG LIVE FREE SPEACH!

Get it in the .org plugin repo here.

Github repo.

Vanishing Checkbox in WordPress Comment Form

This is the tale of the incredible vanishing checkbox, on WordPress versions 4.9.6 and 4.9.8.

WordPress uses cookies by default to log in users and track who is making a comment. Cookies are small snippets of data kept on a user’s browser. WordPress is trying to deal with the new GDPR regulations. It seems from following Trac, that it’s a giant cluster fuck.

This annoying checkbox was forced onto every WordPress site in the world as of 4.9.6:

As soon as I saw this monster I started making a plugin to roll it back. It was obvious to me that most sites wouldn’t want this, and that it served absolutely no purpose. It comes from a misunderstanding of the law, and a desire to be clever.

There is no requirement in GDPR for websites to display a check box for cookie use. None, totally false.

Then comes out 4.9.8 which removed the check-box that was just installed!

However! This revert also breaks functionality. Users who aren’t logged in have no way now of knowing that their comment was submitted.

So the situation as of 4.9.8 is that the comment cookie check box came and went, and now everybody’s site is broken.

You can solve the problem by re-activating the comment check box in the admin SETTINGS >> DISCUSSION, but then you’ll still have the checkbox. Or use this plugin to restore functionality to the way it was.

WordPress Plugin: Change Admin Email

WordPress Plugin: Change Admin Email Setting Without Outbound Email

As of WordPress 4.9, the administrator cannot change the site admin email without outgoing email setup on the server, and recipient email credentials. This plugin restores the admin’s ability to change this setting without sending a confirmation email.

Plugin in the .org repo
Plugin on Github

Bonus BDD!
As a bonus, for developers I’m distributing some BDD Codeception tests with this plugin. The tests are designed to run via the WordPress module from Codeception. To run them, you’ll need composer, selenium, and chrome. To pull the framework, use the instructions here.

I use this as an example of running tests in multiple environments.

When building this, I used TDD / BDD by creating an acceptance test that worked on v3.9 so that I could run the same test against v4.9. This is overkill, but I wanted to show how to run tests against different environments.

7 FREE Plugins

I will help you build a WordPress plugin – 100% for free – in exchange for letting me blog about the experience.

I’m John Dee – an expert WordPress plugin developer. I am going to be making 7 WordPress plugins for business stakeholders using my Behavior Driven Development / Test Driven Development method. This is an attempt to write a book on WordPress plugin development. I’m looking for business partners who wish to get involved.

My claim

Using BDD / TDD, I can decimate production costs and increase quality for WordPress plugin development. Rough guess, I can reduce costs by 90% at most enterprises.

You get

Directions for the toolkit.

  • A WordPress plugin made for you, which you then own, 100%.
  • A development work-flow for your own team to use in the future.
  • A comparison of your current work flow to other small and medium sized development teams. [Except any proprietary information]

Your requirements

  • You must come up with an IDEA for a WordPress plugin. That’s mostly it.
  • You have to pay for programmers. I am a developer – I am an expert programmer who manages other programmers [usually lower skilled, lower paid programmers, but I love working with experts too!]. If you are running an Agile team already, great! If you’re a one man shop, great! If you already have programmers or developers, great! This might be a very large cost, or a very small cost, but I promise it will be cheaper by an exponential factor than you can do on your own. Again, I will receive zero percent of this, and I’m not shilling for someone else. I prefer outsourcers, but if you already employ human beings who know PHP, great let’s use them!
  • This is for WordPress plugins! Business scripting [which is perfect for WordPress], PHP APIs in general, WP-API, PHP SPAs with WP backend etc.
  • This is for backend plugin development, not frontend theme design. Not content, not hosting – although I’ll throw in development hosting if you want it. I use dev servers on AWS, which are nearly free.
  • Assuming this is a business project, you will have to provide for all aspects of your project not specifically related to development. [i.e. if there is a marketing component to your project, you’ll need to manage that.]


  • One of the main points I’m trying to develop is the ability to work remotely. All work is done via Skype.
  • I will provide development servers. I use
    cloud based development servers on Amazon AWS domain with some garbage like ec2-34-197-124-101.compute-1.amazonaws.com The main obstacle to doing WordPress BDD is setting up the frameworks. It’s really hard.
    That’s what I bring.
  • Code is stored on Github or Bitbucket. If you require a firewall, no problem. I make everything compatible on any site, so I don’t need access to your production servers. You can do that.
  • I am doing semi strict TDD / BDD. Programmers DO NOT NEED TO UNDERSTAND TDD IN ADVANCE.
  • I’m doing modified pair programming. I monitor the programmers and direct how they write the code. I generally check in every hour with them. This preserves my brain to take a higher level view of the project while the programmer can work doggedly on the smaller scale without worrying about the higher live architecture.
  • Toolkit is 100% open source, Codeception with WordPress module [PHPUnit etc.]

Contact John Dee to get involved.
e. johndeebdd@gmail.com
p. (702)748-5491 [call or text]

The Feature

A feature from the biz perspective

What is a feature?
A feature is any aspect of your software that is useful to you. Anything you can express, that is possible, and that you an afford, can be a feature. A bug is a feature that isn’t useful.

Since we’re talking about development, we’re discussing software features that don’t exist yet, that we’d like to build [or existing features we’d like to make better]. Often we can describe these things with should statements:

  • It should email all the clients once a month.
  • It should have a setting page in the admin area.
  • It should have a custom post type called GPS coordinates for each subscriber.
  • It should show a timeline of Civil War battles in the footer area.

The bottom line, at some point you have to have a conception of what you want in your mind. This thing is called a feature, and it’s what you want your developer to build you.

Web Scraper

I made a web crawler for Craigslist, that uses Selenium / Codeception to defeat their JS CACHPAs. It’s super useful for a FEW people, there isn’t a commercial application here. I’m using it to get freelance work. Ask me an I’ll give you a password to check it out.

I’m selling access to this software. Try it for free. Tell me how to monetize it somehow.

  • You can use it if you pay me cash. I will only allow 5 people/companies to use it.
  • If you’re a DESIGNER, and want to use it, you may use it if you also get me freelance programming work. In other words any tech person who’s skills don’t overlap mine can use it.
  • You can use it if you can get me freelance work. I am an expert BDD / WordPress / PHP developer
  • You can have the source if you hire me full time. $100k/year, $5000 signing if you want me to move.
  • You can have the source code for $1000

Contact me!

How to: Install Codeception on Ubuntu

Part of a BDD WordPress article.

Run provisioning script

I have tested this on Ubuntu 16. This script might take up to 20 minutes to run. This assumes you have an Ubuntu instance running in the cloud, and you want to develop a plugin or theme.

Open a terminal, and enter this command:

  • source <(curl -s https://raw.githubusercontent.com/johndeebdd/Remote-BDD-Setup/master/installScripts/wordpress.sh)

    Source: Github

Now we’ll download a plugin from Git, and we’ll run the test framework. Enter these commands:

  • source <(curl -s https://raw.githubusercontent.com/johndeebdd/Remote-BDD-Setup/master/installScripts/installplugin.sh)
  • https://github.com/JohnDeeBDD/remove-gdpr.git
  • remove-gdpr

Launch another terminal to run PhantomJS. Open and enter these commands:

cd /var/www/html/wp-content/plugins/WPbdd
./phantomjs --webdriver=4444

From the first terminal you should be able to run the suite:

bin/codecept run acceptance -vvv --html

  • Back to the Beginning
  • Setup an Ubuntu instance, i.e. on AWS. You should be able to do this on any cloud based Ubuntu machine or laptop.
  • Create a local key pair on your machine and connect to your instance. This is the Amazon security authentication system.
  • Install and update software
  • WordPress Plugin: CRG FastRegister

    Streamline WordPress’ user registration system to login users BEFORE they confirm their emails.

    Try it, just enter your email into the
    Sign Up for My Newsletter
    box on the right!

    WordPress has a very clunky registration system. First the user gives their email, then the system emails them a code, then the user has to copy and paste the code to login. A simpler solution is to trust the user about their email on their first login, and then just log them in. This plugin creates a sidebar widget that asks for the user’s email. If they enter a new email, they immediately get logged in. If they enter an existing email, they are forwarded to the standard login page with their email already filled out. This plugin does away with “user names” and just uses email. It also changes the English label “Username” to “Email” in the login form. Finally, it automatically creates a “Nickname” when the user registers. It is an appended email, so “John@doe.com” would be given the automatic nickname “John”. This plugin should work on any site. Activate it and set the sidebar widget and you’re ready to go.

    Source: github.com