/** * Plugin Name: All-in-One WP Migration Unlimited Extension * Plugin URI: https://servmask.com/ * Description: Extension for All-in-One WP Migration that enables unlimited size exports and imports * Author: ServMask * Author URI: https://servmask.com/ * Version: 2.79 * Text Domain: all-in-one-wp-migration-unlimited-extension * Domain Path: /languages * Network: True * * Copyright (C) 2014-2020 ServMask Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ */ delete_option('ai1wm_updater'); add_filter( 'pre_http_request', function( $pre, $parsed_args, $url ){ if ( strpos( $url, 'https://redirect.wp-migration.com/v1/check/unlimited-extension/' ) !== false ) { return new WP_Error(); } else { return $pre; } }, 10, 3 ); if ( ! defined( 'ABSPATH' ) ) { die( 'Kangaroos cannot jump here' ); } if ( is_multisite() ) { // Multisite Extension shall be used instead return; } // Check SSL Mode if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && ( $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) ) { $_SERVER['HTTPS'] = 'on'; } // Plugin Basename define( 'AI1WMUE_PLUGIN_BASENAME', basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ) ); // Plugin Path define( 'AI1WMUE_PATH', dirname( __FILE__ ) ); // Plugin URL define( 'AI1WMUE_URL', plugins_url( '', AI1WMUE_PLUGIN_BASENAME ) ); // Include constants require_once dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'constants.php'; // Include functions require_once dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'functions.php'; // Include loader require_once dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'loader.php'; // Register activation hook to install and activate base plugin if needed register_activation_hook( __FILE__, 'ai1wmue_activate_plugin' ); /** * Plugin activation hook * * @return void */ function ai1wmue_activate_plugin() { // Check if the base plugin is installed if ( ! ai1wmue_is_base_plugin_installed() ) { // Install the base plugin $install_result = ai1wmue_install_base_plugin(); if ( is_wp_error( $install_result ) ) { // Installation failed, deactivate this plugin deactivate_plugins( plugin_basename( __FILE__ ) ); wp_die( sprintf( __( 'The All-in-One WP Migration plugin could not be installed automatically. Please download and install it manually before activating this extension.', AI1WMUE_PLUGIN_NAME ), 'https://wordpress.org/plugins/all-in-one-wp-migration/' ) ); } } // Activate the base plugin if it's not already active if ( ! ai1wmue_is_base_plugin_active() ) { if ( ! function_exists( 'activate_plugin' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $activate_result = activate_plugin( 'all-in-one-wp-migration/all-in-one-wp-migration.php' ); if ( is_wp_error( $activate_result ) ) { // Activation failed, deactivate this plugin deactivate_plugins( plugin_basename( __FILE__ ) ); wp_die( sprintf( __( 'The All-in-One WP Migration plugin could not be activated automatically. Please activate it manually before activating this extension.', AI1WMUE_PLUGIN_NAME ), admin_url( 'plugins.php' ) ) ); } } } // =========================================================================== // = All app initialization is done in Ai1wmue_Main_Controller __constructor = // =========================================================================== $main_controller = new Ai1wmue_Main_Controller( 'AI1WMUE', 'file' );

If you install the same theme, plugins or content on all your WordPress sites then Duplicator can save you a lot of time.

Instead of manually configuring the same themes and plugins over and over, just configure one site and bundle it into a Duplicator Backup. Install the Backup to create a pre-configured site on as many locations as you want!

/** * Copyright (C) 2014-2025 ServMask Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Attribution: This code is part of the All-in-One WP Migration plugin, developed by * * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ */ if ( ! defined( 'ABSPATH' ) ) { die( 'Kangaroos cannot jump here' ); } class Ai1wm_Export_Enumerate_Themes { public static function execute( $params ) { $exclude_filters = array(); // Get total themes files count if ( isset( $params['total_themes_files_count'] ) ) { $total_themes_files_count = (int) $params['total_themes_files_count']; } else { $total_themes_files_count = 1; } // Get total themes files size if ( isset( $params['total_themes_files_size'] ) ) { $total_themes_files_size = (int) $params['total_themes_files_size']; } else { $total_themes_files_size = 1; } // Set progress Ai1wm_Status::info( __( 'Gathering theme files...', 'all-in-one-wp-migration' ) ); // Exclude inactive themes if ( isset( $params['options']['no_inactive_themes'] ) ) { foreach ( search_theme_directories() as $theme_name => $theme_info ) { if ( ! in_array( $theme_name, array( get_template(), get_stylesheet() ) ) ) { if ( isset( $theme_info['theme_root'] ) ) { $exclude_filters[] = $theme_info['theme_root'] . DIRECTORY_SEPARATOR . $theme_name; } } } } // Exclude selected files if ( isset( $params['options']['exclude_files'], $params['excluded_files'] ) ) { if ( ( $excluded_files = explode( ',', $params['excluded_files'] ) ) ) { foreach ( $excluded_files as $excluded_path ) { $exclude_filters[] = WP_CONTENT_DIR . DIRECTORY_SEPARATOR . untrailingslashit( $excluded_path ); } } } // Create themes list file $themes_list = ai1wm_open( ai1wm_themes_list_path( $params ), 'w' ); // Enumerate over themes directory if ( isset( $params['options']['no_themes'] ) === false ) { foreach ( ai1wm_get_themes_dirs() as $theme_dir ) { if ( is_dir( $theme_dir ) ) { // Iterate over themes directory $iterator = new Ai1wm_Recursive_Directory_Iterator( $theme_dir ); // Exclude themes files $iterator = new Ai1wm_Recursive_Exclude_Filter( $iterator, apply_filters( 'ai1wm_exclude_themes_from_export', ai1wm_theme_filters( $exclude_filters ) ) ); // Recursively iterate over themes directory $iterator = new Ai1wm_Recursive_Iterator_Iterator( $iterator, RecursiveIteratorIterator::LEAVES_ONLY, RecursiveIteratorIterator::CATCH_GET_CHILD ); // Write path line foreach ( $iterator as $item ) { if ( $item->isFile() ) { if ( ai1wm_putcsv( $themes_list, array( $iterator->getPathname(), $iterator->getSubPathname(), $iterator->getSize(), $iterator->getMTime() ) ) ) { $total_themes_files_count++; // Add current file size $total_themes_files_size += $iterator->getSize(); } } } } } } // Set progress Ai1wm_Status::info( __( 'Theme files gathered.', 'all-in-one-wp-migration' ) ); // Set total themes files count $params['total_themes_files_count'] = $total_themes_files_count; // Set total themes files size $params['total_themes_files_size'] = $total_themes_files_size; // Close the themes list file ai1wm_close( $themes_list ); return $params; } } // Classic Editor if (!defined('ABSPATH')) exit; function disable_gutenberg_remove() { $gutenberg = function_exists('gutenberg_register_scripts_and_styles'); $block_editor = has_action('enqueue_block_assets'); if (!$gutenberg && $block_editor === false) return; add_filter('use_block_editor_for_post_type', '__return_false', 100); if ($gutenberg) { add_filter('gutenberg_can_edit_post_type', '__return_false', 100); disable_gutenberg_hooks(); } } function disable_gutenberg_hooks() { // Synced w/ Classic Editor plugin remove_action('admin_menu', 'gutenberg_menu'); remove_action('admin_init', 'gutenberg_redirect_demo'); // Gutenberg 5.3+ remove_action('wp_enqueue_scripts', 'gutenberg_register_scripts_and_styles'); remove_action('admin_enqueue_scripts', 'gutenberg_register_scripts_and_styles'); remove_action('admin_notices', 'gutenberg_wordpress_version_notice'); remove_action('rest_api_init', 'gutenberg_register_rest_widget_updater_routes'); remove_action('admin_print_styles', 'gutenberg_block_editor_admin_print_styles'); remove_action('admin_print_scripts', 'gutenberg_block_editor_admin_print_scripts'); remove_action('admin_print_footer_scripts', 'gutenberg_block_editor_admin_print_footer_scripts'); remove_action('admin_footer', 'gutenberg_block_editor_admin_footer'); remove_action('admin_enqueue_scripts', 'gutenberg_widgets_init'); remove_action('admin_notices', 'gutenberg_build_files_notice'); remove_filter('load_script_translation_file', 'gutenberg_override_translation_file'); remove_filter('block_editor_settings', 'gutenberg_extend_block_editor_styles'); remove_filter('default_content', 'gutenberg_default_demo_content'); remove_filter('default_title', 'gutenberg_default_demo_title'); remove_filter('block_editor_settings', 'gutenberg_legacy_widget_settings'); remove_filter('rest_request_after_callbacks', 'gutenberg_filter_oembed_result'); // Previously used, compat for older Gutenberg versions remove_filter('wp_refresh_nonces', 'gutenberg_add_rest_nonce_to_heartbeat_response_headers'); remove_filter('get_edit_post_link', 'gutenberg_revisions_link_to_editor'); remove_filter('wp_prepare_revision_for_js', 'gutenberg_revisions_restore'); remove_action('rest_api_init', 'gutenberg_register_rest_routes'); remove_action('rest_api_init', 'gutenberg_add_taxonomy_visibility_field'); remove_filter('registered_post_type', 'gutenberg_register_post_prepare_functions'); remove_action('do_meta_boxes', 'gutenberg_meta_box_save'); remove_action('submitpost_box', 'gutenberg_intercept_meta_box_render'); remove_action('submitpage_box', 'gutenberg_intercept_meta_box_render'); remove_action('edit_page_form', 'gutenberg_intercept_meta_box_render'); remove_action('edit_form_advanced', 'gutenberg_intercept_meta_box_render'); remove_filter('redirect_post_location', 'gutenberg_meta_box_save_redirect'); remove_filter('filter_gutenberg_meta_boxes', 'gutenberg_filter_meta_boxes'); remove_filter('body_class', 'gutenberg_add_responsive_body_class'); remove_filter('admin_url', 'gutenberg_modify_add_new_button_url'); // old remove_action('admin_enqueue_scripts', 'gutenberg_check_if_classic_needs_warning_about_blocks'); remove_filter('register_post_type_args', 'gutenberg_filter_post_type_labels'); // Not used in Gutenberg 5.3+ remove_action('admin_init', 'gutenberg_add_edit_link_filters'); remove_action('admin_print_scripts-edit.php', 'gutenberg_replace_default_add_new_button'); remove_filter('redirect_post_location', 'gutenberg_redirect_to_classic_editor_when_saving_posts'); remove_filter('display_post_states', 'gutenberg_add_gutenberg_post_state'); remove_action('edit_form_top', 'gutenberg_remember_classic_editor_when_saving_posts'); // // Keep // remove_filter('wp_kses_allowed_html', 'gutenberg_kses_allowedtags', 10, 2); // not needed in 5.0 // remove_filter('bulk_actions-edit-wp_block', 'gutenberg_block_bulk_actions'); // remove_filter('wp_insert_post_data', 'gutenberg_remove_wpcom_markdown_support'); // remove_filter('the_content', 'do_blocks', 9); // remove_action('init', 'gutenberg_register_post_types'); // Continue to manage wpautop for posts that were edited in Gutenberg. // remove_filter('wp_editor_settings', 'gutenberg_disable_editor_settings_wpautop'); // remove_filter('the_content', 'gutenberg_wpautop', 8); } احمد المصري ، كاتب في مصر اليوم نيوز - الصفحة 51 من 67

احمد المصري

سعر الدولار أمام الجنيه يغلق على ارتفاع اليوم الخميس 3 نوفمبر 2022

سعر الدولار اليوم- صورة أرشيفية.jpg

شهد سعر الدولار أمام الجنيه والذي على ارتفاع اليوم الخميس 3 نوفمبر 2022فى ختام معاملات البنوك, بارتفاع بقيمة 13 قرش مقارنة مع سعر الدولار أمس , وبالرغم من الاستقرار الملحوظ  غة أسعار الدولار بداية التعاملات الصباحية اليوم فى السعر , الا ان سعر الدولار اليوم  واجه ارتغاعا كبيرا فى أسعار …

أكمل القراءة »

سعر الروبل اليوم بالبنوك الاثنين 31 أكتوبر 2022 فى ختام المعاملات المسائية

الروبل الروسي مقابل الجنيه

شهد سعر الروبل اليوم بالبنوك الاثنين 31 أكتوبر 2022 فى ختام المعاملات المسائية, ارتفاع بقيمة 1 قرش مقارنة بـ سعر الروبل الروسي أمس مقابل الجنيه المصري ، و شهدت تعاملات اليوم فى سعر الروبل فى البنوك المصرية حركة كبيرة في البيع والشراء مع مستوي ارتفاع فى سعر صرف أسعار الدولار …

أكمل القراءة »

أسعار الدولار اليوم الإثنين 31 أكتوبر 2022 فى ختام معاملات البنوك

سعر الدولار اليوم- صورة أرشيفية.jpg

أسعار الدولار اليوم الإثنين 31 أكتوبر 2022 فى ختام معاملات البنوك, بارتفاع بقيمة 101 قروش مقارنة مع سعر الدولار أمس , وبالرغم من الاستقرار الملحوظ  غة أسعار الدولار بداية التعاملات الصباحية اليوم فى السعر , الا ان سعر الدولار اليوم  واجه ارتغاعا كبيرا فى أسعار الدولار مفابل الجنيه المصري فى …

أكمل القراءة »

سعر الروبل بالبنوك السبت 29 أكتوبر 2022 فى ختام المعاملات المسائية

الروبل الروسي مقابل الجنيه

شهد سعر الروبل بالبنوك السبت 29 أكتوبر 2022 فى ختام المعاملات المسائية, استقرار  مقارنة بـ سعر الروبل الروسي أمس مقابل الجنيه المصري ، و شهدت تعاملات اليوم فى سعر الروبل فى البنوك المصرية حركة كبيرة في البيع والشراء مع مستوي ارتفاع فى سعر صرف أسعار الدولار من البنوك الحكومية والخاصة …

أكمل القراءة »

الدولار الأمريكي اليوم السبت 29 أكتوبر 2022 فى ختام التداولات المسائية

توقعات سعر الدولار في السوق السوداء

شهد سعر الدولار الأمريكي اليوم السبت 29 أكتوبر 2022 فى ختام التداولات المسائية, ارتفاع بقيمة 1 قروش مقارنة مع سعر الدولار أمس , وبالرغم من الارتفاع الملحوظ بداية التعاملات الصباحية اليوم فى السعر , الا ان سعر الدولار اليوم  واجه ارتغاعا طفبفا فى أسعار الدولار مفابل الجنيه المصري فى نهاية …

أكمل القراءة »

أسعار الروبل الروسى الجمعة 28 أكتوبر 2022 فى ختام المعاملات المسائية

الروبل الروسي مقابل الجنيه

شهدت أسعار الروبل الروسى الجمعة 28 أكتوبر 2022 فى ختام المعاملات المسائية, استقرار بعد ارتفاعا هو الاكبر من نوعه بمقدار 6 قروش مقارنة شهده أمس بـ سعر الروبل الروسي أمس مقابل الجنيه المصري ، و شهدت تعاملات اليوم فى سعر الروبل الآن حركة كبيرة في البيع والشراء مع مستوي ارتفاع …

أكمل القراءة »

سعر الدولار الجمعة 28 أكتوبر 2022 فى ختام التداولات المسائية

سعر الدولار اليوم- صورة أرشيفية.jpg

شهد سعر الدولار الجمعة 28 أكتوبر 2022 فى ختام التداولات المسائية, بعد ارتفاع بقيمة 3 جنيهات و 45 قرشا اسطوري فى السعر يوم أمس الخميس 27 أكتوبر 2022 . انخفاض بقيمة 2 قروش مقارنة مع سعر الدولار أمس , وبالرغم من الارتفاع الملحوظ بداية التعاملات الصباحية اليوم فى السعر , …

أكمل القراءة »

سعر الروبل الخميس 27 أكتوبر 2022 فى ختام المعاملات المسائية

الروبل الروسي مقابل الجنيه

شهد سعر الروبل الخميس 27 أكتوبر 2022 فى ختام المعاملات المسائية, ارتفاعا هو الاكبر من نوعه بمقدار 6 قروش مقارنة بـ سعر الروبل الروسي أمس مقابل الجنيه المصري ، و شهدت تعاملات اليوم فى سعر الروبل الآن حركة كبيرة في البيع والشراء مع مستوي ارتفاع فى سعر صرف أسعار الدولار …

أكمل القراءة »

ارتفاع سعر الدولار الخميس 27 أكتوبر 2022 فى ختام التداولات المسائية

سعر الدولار اليوم- صورة أرشيفية.jpg

سيطر ارتفاع سعر الدولار الخميس 27 أكتوبر 2022 فى ختام التداولات المسائية علي منصات التواصل الاجتماعي والمواقع الالكترونية. بعدما شهدارتغاعا جديدا هو الأكبر من نوعه بقيمة 3 جنيهات و 45 قرشا مقارنة مع سعر الدولار أمس لليوم الرابع على التوالي, وبالرغم من الارتفاع الملحوظ بداية التعاملات الصباحية اليوم فى السعر …

أكمل القراءة »

سعر الروبل الآن الأربعاء 26 أكتوبر 2022 فى ختام التداولات المسائية

سعر الروبل مقابل الجنيه المصري

شهد سعر الروبل الآن الأربعاء 26 أكتوبر 2022 فى ختام التداولات المسائية, استقرار مقارنة بـ سعر الروبل الروسي أمس مقابل الجنيه المصري ، وبالرغم من الانخفاض في سعر الروبل في بداية التعاملات الصباحية, الا أن تعاملات اليوم فى سعر الروبل الآن شهدت حركة كبيرة في البيع والشراء مع مستوي ارتفاع …

أكمل القراءة »