<?php /** * ----------------------------------------------------------------------------- * Plugin Name: Conditional Form Actions for ACFE * Plugin URI: https://develop.tadpole.cc/plugins/conditional-form-actions-for-acfe * Description: Provides some ACF Extended Form Actions that have a Conditional Field. * Author: Christian Wach * Version: 0.1 * Author URI: https://haystack.co.uk * Text Domain: conditional-form-actions-for-acfe * Domain Path: /languages * ----------------------------------------------------------------------------- * * @package Conditional_Form_Actions_For_ACFE */ // Set plugin version here. define( 'CFAFA_VERSION', '0.1' ); // Store reference to this file. if ( ! defined( 'CFAFA_FILE' ) ) { define( 'CFAFA_FILE', __FILE__ ); } // Store URL to this plugin's directory. if ( ! defined( 'CFAFA_URL' ) ) { define( 'CFAFA_URL', plugin_dir_url( CFAFA_FILE ) ); } // Store PATH to this plugin's directory. if ( ! defined( 'CFAFA_PATH' ) ) { define( 'CFAFA_PATH', plugin_dir_path( CFAFA_FILE ) ); } /** * Conditional Form Actions for ACFE Class. * * A class that encapsulates this plugin's functionality. * * @since 0.1 */ class Conditional_Form_Actions_For_ACFE { /** * ACF Extended object. * * @since 0.1 * @access public * @var object $acfe The ACF Extended object. */ public $acfe; /** * Initialises this object. * * @since 0.1 */ public function __construct() { // Always load translations. add_action( 'init', [ $this, 'translation' ] ); // Initialise when ACF Extended is initialised. add_action( 'acfe/init', [ $this, 'initialise' ] ); } /** * Initialise this plugin. * * @since 0.1 */ public function initialise() { // Only do this once. static $done; if ( isset( $done ) && $done === true ) { return; } // Include files. $this->include_files(); // Set up objects and references. $this->setup_objects(); /** * Broadcast that this plugin is loaded. * * @since 0.1 */ do_action( 'cfafa/loaded' ); // We're done. $done = true; } /** * Enable translation. * * @since 0.1 */ public function translation() { // Load translations. load_plugin_textdomain( 'conditional-form-actions-for-acfe', false, // Deprecated argument. dirname( plugin_basename( CFAFA_FILE ) ) . '/languages/' ); } /** * Include files. * * @since 0.1 */ public function include_files() { // Load our class files. require CFAFA_PATH . 'includes/cfafa-acfe.php'; } /** * Set up this plugin's objects. * * @since 0.1 */ public function setup_objects() { // Initialise objects. $this->acfe = new CFAFA_ACFE( $this ); } } // Class ends. /** * Load plugin if not yet loaded and return reference. * * @since 0.1 * * @return Conditional_Form_Actions_For_ACFE $plugin The plugin reference. */ function cfafa() { static $plugin; // Instantiate plugin if not yet instantiated. if ( ! isset( $plugin ) ) { $plugin = new Conditional_Form_Actions_For_ACFE(); } // --< return $plugin; } // Load immediately. cfafa(); /** * Performs plugin activation tasks. * * @since 0.1 */ function cfafa_activate() { /** * Broadcast that this plugin has been activated. * * @since 0.1 */ do_action( 'cfafa/activated' ); } // Activation. register_activation_hook( __FILE__, 'cfafa_activate' ); /** * Performs plugin deactivation tasks. * * @since 0.1 */ function cfafa_deactivated() { /** * Broadcast that this plugin has been deactivated. * * @since 0.1 */ do_action( 'cfafa/deactivated' ); } // Deactivation. register_deactivation_hook( __FILE__, 'cfafa_deactivated' ); /* * Uninstall uses the 'uninstall.php' method. * @see http://codex.wordpress.org/Function_Reference/register_uninstall_hook */