Ultimate Post Kit is a packed of post related elementor widgets. This plugin gives you post related widget features for elementor page builder plugin. * Version: 4.5.4 * Author: BdThemes * Author URI: https://bdthemes.com/ * Text Domain: ultimate-post-kit * Domain Path: /languages * License: GPL3 * Elementor requires at least: 4.0.0 * Elementor tested up to: 4.2.4 */ if ( ! defined( 'ABSPATH' ) ) { exit; } // Some pre define value for easy use define( 'BDTUPK_VER', '4.5.4' ); /** * Minimum Pro version this Free/Core release is API compatible with. * * Required on Core/Base file changes. The Pro add-on extends base classes and * calls helpers that live here, so whenever those signatures change a matching * Pro must be released and this constant bumped to it. An older Pro is only * warned about, never blocked, so the Free plugin stays fully functional on * its own. */ define( 'BDTUPK_PRO_REQUIRED_VERSION', '4.5.2' ); define( 'BDTUPK__FILE__', __FILE__ ); /** * Loads translations * * @return void */ // Translations for plugins hosted on WordPress.org load automatically since WP 4.6. if ( ! function_exists( '_is_upk_pro_installed' ) ) { // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound -- established function name relied on across the plugin family / feedback SDK; renaming would break integration. function _is_upk_pro_installed() { if ( ! function_exists( 'get_plugins' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $file_path = 'ultimate-post-kit-pro/ultimate-post-kit-pro.php'; $installed_plugins = get_plugins(); return isset( $installed_plugins[ $file_path ] ); } } if ( ! function_exists( '_is_upk_pro_activated' ) ) { // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound -- established function name relied on across the plugin family / feedback SDK; renaming would break integration. function _is_upk_pro_activated() { if ( ! function_exists( 'get_plugins' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $file_path = 'ultimate-post-kit-pro/ultimate-post-kit-pro.php'; if ( is_plugin_active( $file_path ) ) { return true; } return false; } } if ( ! function_exists( '_is_upk_pro_version_sufficient' ) ) { // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound -- matches the established _is_upk_* helper naming used across the plugin family. function _is_upk_pro_version_sufficient() { // Pro is not loaded, so there is nothing to be incompatible with. if ( ! defined( 'BDTUPK_PRO_VER' ) ) { return true; } return version_compare( BDTUPK_PRO_VER, BDTUPK_PRO_REQUIRED_VERSION, '>=' ); } } // Helper function here require_once ( dirname( __FILE__ ) . '/includes/helper.php' ); if ( ! _is_upk_pro_activated() ) { require_once BDTUPK_INC_PATH . 'class-pro-widget-map.php'; } if ( function_exists( 'upk_license_validation' ) && true !== upk_license_validation() ) { require_once BDTUPK_INC_PATH . 'class-pro-widget-map.php'; } require_once ( dirname( __FILE__ ) . '/includes/utils.php' ); // Widgets filters here require_once ( BDTUPK_INC_PATH . 'ultimate-post-kit-filters.php' ); /** * Plugin load here correctly * Also loaded the language file from here */ function ultimate_post_kit_load_plugin() { if ( ! did_action( 'elementor/loaded' ) ) { add_action( 'admin_notices', 'ultimate_post_kit_fail_load' ); return; } // An outdated Pro is warned about but never blocked; Free must keep working. if ( ! _is_upk_pro_version_sufficient() ) { add_action( 'admin_notices', 'ultimate_post_kit_pro_version_not_sufficient' ); } require_once( dirname( __FILE__ ) . '/includes/setup-wizard/init.php' ); // Element pack widget and assets loader require_once ( BDTUPK_PATH . 'loader.php' ); } add_action( 'plugins_loaded', 'ultimate_post_kit_load_plugin' ); /** * Warn when the installed Pro add-on is older than this Free/Core release * expects. Pro is still loaded, so nothing breaks silently on the front end. */ function ultimate_post_kit_pro_version_not_sufficient() { if ( ! current_user_can( 'update_plugins' ) ) { return; } $admin_message = '
' . sprintf( /* translators: 1: installed Ultimate Post Kit Pro version, 2: minimum required Ultimate Post Kit Pro version */ esc_html__( 'Ops! Ultimate Post Kit Pro %1$s is older than this version of the Free/Core plugin supports. Please update Ultimate Post Kit Pro to at least version %2$s.', 'ultimate-post-kit' ), esc_html( BDTUPK_PRO_VER ), esc_html( BDTUPK_PRO_REQUIRED_VERSION ) ) . '
'; echo '' . esc_html__( 'Ops! Ultimate Post Kit not working because you need to activate the Elementor plugin first.', 'ultimate-post-kit' ) . '
'; $admin_message .= '' . sprintf( '%s', $activation_url, esc_html__( 'Activate Elementor Now', 'ultimate-post-kit' ) ) . '
'; } else { if ( ! current_user_can( 'install_plugins' ) ) { return; } $install_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=elementor' ), 'install-plugin_elementor' ); $admin_message = '' . esc_html__( 'Ops! Ultimate Post Kit not working because you need to install the Elementor plugin', 'ultimate-post-kit' ) . '
'; $admin_message .= '' . sprintf( '%s', $install_url, esc_html__( 'Install Elementor Now', 'ultimate-post-kit' ) ) . '
'; } echo 'Loved using Ultimate Post Kit on your website? Share your experience in a review and help us spread the love to everyone right now. Good words will help the community.
', ) ); } add_action( 'admin_init', 'ultimate_post_kit_reviews_bootstrap' ); }