Jetpack_Sync_Modules

The WordPress Core Jetpack Sync Modules class.

Defined (1)

The class is defined in the following location(s).

/sync/class.jetpack-sync-modules.php  
  1. class Jetpack_Sync_Modules { 
  2.  
  3. private static $default_sync_modules = array( 
  4. 'Jetpack_Sync_Module_Constants',  
  5. 'Jetpack_Sync_Module_Callables',  
  6. 'Jetpack_Sync_Module_Options',  
  7. 'Jetpack_Sync_Module_Network_Options',  
  8. 'Jetpack_Sync_Module_Terms',  
  9. 'Jetpack_Sync_Module_Themes',  
  10. 'Jetpack_Sync_Module_Users',  
  11. 'Jetpack_Sync_Module_Posts',  
  12. 'Jetpack_Sync_Module_Comments',  
  13. 'Jetpack_Sync_Module_Updates',  
  14. 'Jetpack_Sync_Module_Attachments',  
  15. 'Jetpack_Sync_Module_Meta',  
  16. 'Jetpack_Sync_Module_Plugins',  
  17. 'Jetpack_Sync_Module_Protect',  
  18. 'Jetpack_Sync_Module_Full_Sync',  
  19. 'Jetpack_Sync_Module_Stats',  
  20. ); 
  21.  
  22. private static $initialized_modules = null; 
  23.  
  24. public static function get_modules() { 
  25. if ( null === self::$initialized_modules ) { 
  26. self::$initialized_modules = self::initialize_modules(); 
  27.  
  28. return self::$initialized_modules; 
  29.  
  30. public static function set_defaults() { 
  31. foreach ( self::get_modules() as $module ) { 
  32. $module->set_defaults(); 
  33.  
  34. public static function get_module( $module_name ) { 
  35. foreach ( self::get_modules() as $module ) { 
  36. if ( $module->name() === $module_name ) { 
  37. return $module; 
  38.  
  39. return false; 
  40.  
  41. static function initialize_modules() { 
  42. /** 
  43. * Filters the list of class names of sync modules. 
  44. * If you add to this list, make sure any classes implement the 
  45. * Jetpack_Sync_Module interface. 
  46. * @since 4.2.0 
  47. */ 
  48. $modules = apply_filters( 'jetpack_sync_modules', self::$default_sync_modules ); 
  49.  
  50. $modules = array_map( array( 'Jetpack_Sync_Modules', 'load_module' ), $modules ); 
  51.  
  52. return array_map( array( 'Jetpack_Sync_Modules', 'set_module_defaults' ), $modules ); 
  53.  
  54. static function load_module( $module_name ) { 
  55. return new $module_name; 
  56.  
  57. static function set_module_defaults( $module ) { 
  58. $module->set_defaults(); 
  59. if ( method_exists( $module, 'set_late_default' ) ) { 
  60. add_action( 'init', array( $module, 'set_late_default' ), 90 ); 
  61. return $module; 
  62.