Completed
Push — try/search-config-via-block ( adc05e )
by
unknown
73:49 queued 61:57
created

Jetpack_Search_Settings::settings_register()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 27

Duplication

Lines 0
Ratio 0 %

Importance

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