acf_pro::__constructpublicACF 5.0.0

Main ACF PRO constructor

Method of the class: acf_pro{}

No Hooks.

Returns

null. Nothing (null).

Usage

$acf_pro = new acf_pro();
$acf_pro->__construct();

Changelog

Since 5.0.0 Introduced.

acf_pro::__construct() code ACF 6.8.8

public function __construct() {
	// constants
	acf()->define( 'ACF_PRO', true );

	// update setting
	acf_update_setting( 'pro', true );
	acf_update_setting( 'name', 'Advanced Custom Fields PRO' );

	// includes
	acf_include( 'pro/blocks.php' );
	acf_include( 'pro/datastore.php' );
	acf_include( 'pro/options-page.php' );
	acf_include( 'pro/acf-ui-options-page-functions.php' );
	acf_include( 'pro/updates.php' );

	if ( is_admin() ) {
		acf_include( 'pro/admin/admin-options-page.php' );
		acf_include( 'pro/admin/admin-updates.php' );
	}

	// Initialize GEO Blocks output (PRO only).
	if ( class_exists( 'ACF\Pro\AI\GEO\Outputs\Blocks' ) ) {
		new \ACF\Pro\AI\GEO\Outputs\Blocks();
	}

	// Datastore integration (self-gates on acf_is_using_datastore()).
	acf_new_instance( 'ACF\Pro\Datastore\REST_Save' );
	acf_new_instance( 'ACF\Pro\Datastore\Localization' );
	acf_new_instance( 'ACF\Pro\Datastore\Revisions' );
	acf_new_instance( 'ACF\Pro\Datastore\Check_Screen' );

	// JS block bindings layer (self-gates on enable_block_bindings + datastore).
	acf_new_instance( 'ACF\Pro\Blocks\Bindings_Editor' );

	// actions
	add_action( 'init', array( $this, 'register_assets' ) );
	add_action( 'acf/init', array( $this, 'update_plugin_name' ) );
	add_action( 'woocommerce_init', array( $this, 'init_hpos_integration' ), 99 );
	add_action( 'acf/init_internal_post_types', array( $this, 'register_ui_options_pages' ) );
	add_action( 'acf/include_fields', array( $this, 'include_options_pages' ) );
	add_action( 'acf/include_field_types', array( $this, 'include_field_types' ), 5 );
	add_action( 'acf/include_location_rules', array( $this, 'include_location_rules' ), 5 );
	add_action( 'acf/input/admin_enqueue_scripts', array( $this, 'input_admin_enqueue_scripts' ) );
	add_action( 'acf/field_group/admin_enqueue_scripts', array( $this, 'field_group_admin_enqueue_scripts' ) );
	add_action( 'acf/in_admin_header', array( $this, 'maybe_show_license_status_error' ) );
	add_action( 'acf/internal_post_type/current_screen', array( $this, 'invalid_license_redirect' ) );
	add_action( 'acf/internal_post_type_list/current_screen', array( $this, 'invalid_license_redirect_notice' ) );

	// Add filters.
	add_filter( 'posts_where', array( $this, 'posts_where' ), 10, 2 );
	add_filter( 'wp_plugin_dependencies_slug', array( $this, 'plugin_dependency_slug' ), 10 );
	add_filter( 'acf/internal_post_type/admin_body_classes', array( $this, 'admin_body_classes' ) );
	add_filter( 'acf/internal_post_type_list/admin_body_classes', array( $this, 'admin_body_classes' ) );
}