Няма описание

class-jetpack-search-settings.php 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * Jetpack Search Overlay Settings
  4. *
  5. * @package automattic/jetpack
  6. */
  7. // Exit if file is accessed directly.
  8. if ( ! defined( 'ABSPATH' ) ) {
  9. exit;
  10. }
  11. require_once __DIR__ . '/class-jetpack-search-options.php';
  12. /**
  13. * Class to initialize search settings on the site.
  14. *
  15. * @since 8.3.0
  16. */
  17. class Jetpack_Search_Settings {
  18. /**
  19. * Class initialization.
  20. *
  21. * @since 8.3.0
  22. */
  23. public function __construct() {
  24. add_action( 'admin_init', array( $this, 'settings_register' ) );
  25. add_action( 'rest_api_init', array( $this, 'settings_register' ) );
  26. }
  27. /**
  28. * Register requisite settings.
  29. *
  30. * @since 9.x.x
  31. */
  32. public function settings_register() {
  33. // NOTE: This contains significant code overlap with class-jetpack-search-customize.
  34. $setting_prefix = Jetpack_Search_Options::OPTION_PREFIX;
  35. $settings = array(
  36. array( $setting_prefix . 'color_theme', 'string', 'light' ),
  37. array( $setting_prefix . 'result_format', 'string', 'minimal' ),
  38. array( $setting_prefix . 'default_sort', 'string', 'relevance' ),
  39. array( $setting_prefix . 'overlay_trigger', 'string', 'results' ),
  40. array( $setting_prefix . 'excluded_post_types', 'string', '' ),
  41. array( $setting_prefix . 'highlight_color', 'string', '#FFC' ),
  42. array( $setting_prefix . 'enable_sort', 'boolean', true ),
  43. array( $setting_prefix . 'inf_scroll', 'boolean', true ),
  44. array( $setting_prefix . 'show_powered_by', 'boolean', true ),
  45. );
  46. foreach ( $settings as $value ) {
  47. register_setting(
  48. 'options',
  49. $value[0],
  50. array(
  51. 'default' => $value[2],
  52. 'show_in_rest' => true,
  53. 'type' => $value[1],
  54. )
  55. );
  56. }
  57. }
  58. }