I am pretty experienced with wordpress and php coding but never attempted to create a wordpress plugin until now.

I want to create a plugin that will offer basic functionality for free and extended functionality if activation code is purchased and activated. (it would be nice to have a count and a limit of how many times the activation code can be used)

The free plugin I would like to make available on the wordpress plugins repo and the extended would be available on envato and my personal website.

Can some one advise what is required and the best to get this working? I have seen many plugins on themeforest that work in a similar way!

My initial thought is to have a table in an external database that stores the activation codes. The plugin would make an api request to the external server to check if code exists. Is this the right approach?

Also I have a concern with exposing the plugin code, as a developer could potentially by pass the api which checks for activation code by removing the request and modify the plugin to display the extended functionality.

My initial thought is to have all the plugin codes stored externally and then retrieving them via eval() from api request. Is this the right approach?

  • Why don't you basically just drop all the complications and offer support and updates to only customers with valid licence keys..
    – Ismail
    Commented Dec 29, 2016 at 0:19
  • I would probably consider this option only as a last resort. i just want to know if my ideas are feasible or complete bogus. correctme if i am wrong but i am under the impression the plugin repos review the code to allow or disallow the plugin? will my idea of building the plugin have any issues?
    – ahmed
    Commented Dec 29, 2016 at 0:36
  • Please add wheter you are planning to publish your plugin in the WordPress plugin repository. This influences which approaches are practicable.
    – JHoffmann
    Commented Dec 29, 2016 at 13:25
  • i have updated my question to include free version to be available on wordpress repo
    – ahmed
    Commented Dec 29, 2016 at 14:44

1 Answer 1


I am a premium plugin developer for about two years and only had the thought of protecting my code for a glance of a second for two reasons.

First, as a freelance developer and client of other premium products, I was and am always suspicious about encrypted parts in the code and rather remove such a plugin and ask for a refund if possible.

Second, as stated by Samuel Elh, I too believe in support and updates to give value to customers.

Depending on the platform, they probably have tutorials on how to handle license keys. I am using Easy Digital Downloads’ Software Licensing and they provided this info and sample codes.

It can always happen that someone copies/steals or optimizes your code, but copying an image and additional value (like helpful support) is rather hard.

You should also be aware that making your product depend on a call to an external database adds the question of performance to the table. Anything "calling home" is a huge risk on both ends.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.