VersionPress\Initialization\WpdbReplacer::replaceMethods PHP Method

replaceMethods() public static method

public static replaceMethods ( )
    public static function replaceMethods()
    {
        $wpdbClassPath = ABSPATH . WPINC . '/wp-db.php';
        $wpdbSource = file_get_contents($wpdbClassPath);
        if (self::isReplaced()) {
            return;
        }
        copy($wpdbClassPath, $wpdbClassPath . '.original');
        $wpdbSource = substr_replace($wpdbSource, sprintf("<?php %s\n%s", self::$vpFirstLineComment, self::$bootstrapRequire), 0, strlen('<?php'));
        // adds the VP comment and require
        $wpdbSource = self::replaceMethod($wpdbSource, 'insert');
        $wpdbSource = self::replaceMethod($wpdbSource, 'update');
        $wpdbSource = self::replaceMethod($wpdbSource, 'delete');
        $wpdbSource = self::replaceMethod($wpdbSource, 'query');
        $wpdbSource = self::injectVersionPressMethods($wpdbSource);
        file_put_contents($wpdbClassPath, $wpdbSource);
    }

Usage Example

        FileSystem::remove(VP_PROJECT_ROOT . '/.git');
    }
    FileSystem::remove(VP_VPDB_DIR);
    unlink(VERSIONPRESS_PLUGIN_DIR . '/.abort-initialization');
}
//----------------------------------------
// Hooks for VersionPress functionality
//----------------------------------------
if (VersionPress::isActive()) {
    add_action('init', 'vp_register_hooks');
    //----------------------------------
    // Replacing wpdb
    //----------------------------------
    register_shutdown_function(function () {
        if (!WpdbReplacer::isReplaced() && !defined('VP_DEACTIVATING') && VersionPress::isActive()) {
            WpdbReplacer::replaceMethods();
        }
    });
    //----------------------------------
    // Flushing rewrite rules after clone / pull / push
    //----------------------------------
    add_action('wp_loaded', function () {
        if (get_transient('vp_flush_rewrite_rules') && !defined('WP_CLI')) {
            require_once ABSPATH . 'wp-admin/includes/misc.php';
            require_once ABSPATH . 'wp-admin/includes/file.php';
            flush_rewrite_rules();
            delete_transient('vp_flush_rewrite_rules');
        }
    });
}
//----------------------------------
All Usage Examples Of VersionPress\Initialization\WpdbReplacer::replaceMethods