Skip to content

Instantly share code, notes, and snippets.

@mattradford
Last active October 28, 2023 19:25
Show Gist options
  • Star 33 You must be signed in to star a gist
  • Fork 9 You must be signed in to fork a gist
  • Save mattradford/6d5b8f3cd11ce1f62480 to your computer and use it in GitHub Desktop.
Save mattradford/6d5b8f3cd11ce1f62480 to your computer and use it in GitHub Desktop.
ACF5 Pro licence activation. Could be adapted for any other plugin that requires a licence key, but doesn't yet support defining it in wp-config. Fires on theme activation.
// Place this in wp-config
define( 'ACF_5_KEY', 'yourkeyhere' );
// Set ACF 5 license key on theme activation. Stick in your functions.php or equivalent.
function auto_set_license_keys() {
if ( ! get_option( 'acf_pro_license' ) && defined( 'ACF_5_KEY' ) ) {
$save = array(
'key' => ACF_5_KEY,
'url' => home_url()
);
$save = maybe_serialize($save);
$save = base64_encode($save);
update_option( 'acf_pro_license', $save );
}
}
add_action( 'after_switch_theme', 'auto_set_license_keys' );
@mattradford
Copy link
Author

I agree, it would be a violation of the Ts & Cs if I was bundling ACF in a premium theme or plugin. But I would never do that; I respect your work and the licence under which it is offered, and only include ACF in bespoke WordPress builds for individual clients.

Will work for any plugin that requires a licence key?

Not in the sense of ACF being bundled in a plugin, but that the function could be adapted for AN Other plugin to add support for defining a licence key in wp-config.

This function was written in response to this thread requesting support for adding a licence key to wp-config. Gravity Forms and other plugins have this ability, which is a time saver when setting up lots of different environments.

@nlenkowski
Copy link

Several folks have posted on the thread @mattradford mentioned regarding this issue. @elliotcondon, any possibility of adding the ability to activate ACF Pro via config without using Matt's workaround? Thanks a ton for developing ACF by the way, it's made working with custom post types in WordPress a real pleasure.

@jordanmaslyn
Copy link

Have you ran into any issues with this when switching domains (e.g. local > staging > prod)?

It seems ACF checks to make sure the home_url that you saved is still the same as the current home_url, and so functionality to check for that and fix it if it's different is required.

@filipvanreeth
Copy link

Tried it but does not seems to work?

@teolaz
Copy link

teolaz commented Nov 29, 2016

This is my version using @elliotcondon original code. It fires only on backend.
Please add it to your functions.php on your needs.

<?php
class AutoActivator {
		
		const ACTIVATION_KEY = 'youractivationkeyhere';
		
		/**
		 * AutoActivator constructor.
		 * This will update the license field option on acf
		 * Works only on backend to not attack performance on frontend
		 */
		public function __construct() {
			if (
				function_exists( 'acf' ) &&
			    is_admin() &&
				!acf_pro_get_license_key()
			) {
				acf_pro_update_license(self::ACTIVATION_KEY);
			}
		}
		
	}
       
       new AutoActivator();
?>

@polevaultweb
Copy link

My version, filtering on the get_option function for that specific option_name https://gist.github.com/polevaultweb/9cdf1b3bfeb054f13f221d4612bd8901

@sasqik
Copy link

sasqik commented Mar 14, 2020

My version, filtering on the get_option function for that specific option_name https://gist.github.com/polevaultweb/9cdf1b3bfeb054f13f221d4612bd8901

You should remember to give everybody know to add this in wp-config.php. Then it will work correctly.

// Place this in wp-config
define('ACF_PRO_LICENSE', 'yourkeyhere' );

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment