| @@ -88,8 +88,9 @@ | ||
| 88 | 88 | public static function instance() { |
| 89 | 89 | if ( is_null( self::$_instance ) ) { |
| 90 | 90 | self::$_instance = new self(); |
| 91 | 91 | } |
| 92 | + // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- established hook name relied on across the plugin family; renaming would break integration. | |
| 92 | 93 | do_action( 'bdthemes_ultimate_post_kit/init' ); |
| 93 | 94 | return self::$_instance; |
| 94 | 95 | } |
| 95 | 96 | |
| @@ -127,15 +128,20 @@ | ||
| 127 | 128 | // if ($category_image == 'on') { |
| 128 | 129 | require BDTUPK_INC_PATH . 'ultimate-post-kit-metabox.php'; |
| 129 | 130 | // } |
| 130 | 131 | |
| 131 | - if ( ! class_exists( 'BdThemes_Duplicator' ) ) { | |
| 132 | - if ( $duplicator == 'on' ) { | |
| 133 | - require BDTUPK_PATH . 'includes/class-duplicator.php'; | |
| 134 | - } | |
| 132 | + // The class is namespaced, so the old unqualified class_exists() check never | |
| 133 | + // matched and the file could be loaded alongside a sibling plugin's duplicator. | |
| 134 | + // Also skip our copy entirely when Live Copy Paste is providing the same feature, | |
| 135 | + // since both provide the same duplicate-post admin action. | |
| 136 | + if ( $duplicator == 'on' | |
| 137 | + && ! class_exists( '\\UltimatePostKit\\Includes\\BdThemes_Duplicator' ) | |
| 138 | + && ! class_exists( '\\ElementPack\\Includes\\BdThemes_Duplicator' ) | |
| 139 | + && ! class_exists( '\\BdThemes_Duplicator' ) ) { | |
| 140 | + require BDTUPK_PATH . 'includes/class-duplicator.php'; | |
| 135 | 141 | } |
| 136 | 142 | |
| 137 | - if ( ! class_exists( 'BdThemes_Live_Copy' ) ) { | |
| 143 | + if ( ! class_exists( '\\UltimatePostKit\\Includes\\LiveCopy\\BdThemes_Live_Copy' ) ) { | |
| 138 | 144 | if ( ( $live_copy == 'on' ) && ( ! is_plugin_active( 'live-copy-paste/live-copy-paste.php' ) ) ) { |
| 139 | 145 | require_once BDTUPK_PATH . 'includes/live-copy/class-live-copy.php'; |
| 140 | 146 | } |
| 141 | 147 | } |
| @@ -181,15 +187,15 @@ | ||
| 181 | 187 | public function register_site_scripts() { |
| 182 | 188 | |
| 183 | 189 | // $suffix = '.min'; |
| 184 | 190 | |
| 185 | - wp_register_script( 'goodshare', BDTUPK_ASSETS_URL . 'vendor/js/goodshare.min.js', [ 'jquery' ], '4.1.2', true ); | |
| 186 | - wp_register_script( 'scrolline', BDTUPK_ASSETS_URL . 'vendor/js/jquery.scrolline.min.js', [ 'jquery' ], '4.1.2', true ); | |
| 187 | - wp_register_script( 'news-ticker-js', BDTUPK_ASSETS_URL . 'vendor/js/newsticker.min.js', [ 'jquery' ], '', true ); | |
| 188 | - wp_register_script( 'fslightbox', BDTUPK_ASSETS_URL . 'vendor/js/fslightbox.min.js', [], '3.4.1', true ); | |
| 189 | - wp_register_script( 'upk-animations', BDTUPK_ASSETS_URL . 'js/extensions/upk-animations.min.js', [ 'jquery' ], '', true ); | |
| 191 | + wp_register_script( 'goodshare', BDTUPK_ASSETS_URL . 'vendor/js/goodshare.min.js', [ 'jquery' ], '6.3.0', true ); | |
| 192 | + wp_register_script( 'scrolline', BDTUPK_ASSETS_URL . 'vendor/js/jquery.scrolline.min.js', [ 'jquery' ], BDTUPK_VER, true ); | |
| 193 | + wp_register_script( 'news-ticker-js', BDTUPK_ASSETS_URL . 'vendor/js/newsticker.min.js', [ 'jquery' ], BDTUPK_VER, true ); | |
| 194 | + wp_register_script( 'fslightbox', BDTUPK_ASSETS_URL . 'vendor/js/fslightbox.min.js', [], '3.8.0', true ); | |
| 195 | + wp_register_script( 'upk-animations', BDTUPK_ASSETS_URL . 'js/extensions/upk-animations.min.js', [ 'jquery' ], BDTUPK_VER, true ); | |
| 190 | 196 | |
| 191 | - wp_register_script( 'upk-ajax-loadmore', BDTUPK_ASSETS_URL . 'js/extensions/upk-ajax-loadmore.min.js', [ 'jquery' ], '', true ); | |
| 197 | + wp_register_script( 'upk-ajax-loadmore', BDTUPK_ASSETS_URL . 'js/extensions/upk-ajax-loadmore.min.js', [ 'jquery' ], BDTUPK_VER, true ); | |
| 192 | 198 | |
| 193 | 199 | wp_register_script( 'upk-all-scripts', BDTUPK_ASSETS_URL . 'js/upk-all-scripts.min.js', [ |
| 194 | 200 | 'jquery', |
| 195 | 201 | 'scrolline' |
| @@ -347,9 +353,8 @@ | ||
| 347 | 353 | public function init(){ |
| 348 | 354 | if ( ! defined( 'BDTUPK_CH' ) && is_admin() ) { |
| 349 | 355 | // Notice class |
| 350 | 356 | require_once BDTUPK_ADMIN_PATH . 'admin-biggopti.php'; |
| 351 | - require_once BDTUPK_ADMIN_PATH . 'admin-api-biggopti.php'; | |
| 352 | 357 | require_once BDTUPK_ADMIN_PATH . 'admin.php'; |
| 353 | 358 | |
| 354 | 359 | // Load admin class for admin related content process |
| 355 | 360 | new Admin(); |