plugin_file = $plugin_file; self::$PLUGIN_DIR = plugin_dir_path( $plugin_file ); self::$PLUGIN_FILE = $plugin_file; } /** * Get path to main plugin file. * * @return string Plugin file. */ public function get_plugin_file() { return $this->plugin_file; } /** * Monkey patch the old `add_script` method. * * @since 6.0.0 */ public function add_script() { $bd = BulkDelete::get_instance(); $post_page = $bd->get_page( self::POSTS_PAGE_SLUG ); if ( is_null( $post_page ) ) { return; } $post_page->enqueue_assets(); } /** * Provide access to old public fields through Magic method. * * This function is added to provide backward compatibility and will be eventually removed from future versions. * * @since 6.0.0 * * @param string $name Field. * * @return string|null */ public function __get( $name ) { $new_bd = BulkDelete::get_instance(); switch ( $name ) { case 'translations': return $new_bd->get_translations_path(); break; case 'posts_page': return $new_bd->get_page_hook_suffix( 'bulk-delete-posts' ); break; case 'pages_page': return $new_bd->get_page_hook_suffix( 'bulk-delete-pages' ); break; case 'users_page': return $new_bd->get_page_hook_suffix( 'bulk-delete-users' ); break; case 'meta_page': return $new_bd->get_page_hook_suffix( 'bulk-delete-metas' ); break; } $trace = debug_backtrace(); trigger_error( 'Undefined property via __get(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_NOTICE ); return null; } } /** * The main function responsible for returning the one true Bulk_Delete * Instance to functions everywhere. * * Use this function like you would a global variable, except without needing * to declare the global. * * Example: `` * * @since 5.0 * * @return Bulk_Delete The one true Bulk_Delete Instance */ function BULK_DELETE() { return Bulk_Delete::get_instance(); } /** * Setup old Bulk_Delete class for backward compatibility reasons. * * Eventually this will be removed. * * @since 6.0.0 * * @param string $plugin_file Main plugin file. */ function bd_setup_backward_compatibility( $plugin_file ) { $bd = BULK_DELETE(); $bd->set_plugin_file( $plugin_file ); } add_action( 'bd_loaded', 'bd_setup_backward_compatibility' );