class-ld-settings-page-advanced.php
2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
/**
* LearnDash Settings Page Advanced.
*
* @since 3.6.0
* @package LearnDash\Settings\Pages
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( class_exists( 'LearnDash_Settings_Page' ) && ! class_exists( 'LearnDash_Settings_Page_Advanced' ) ) {
/**
* Class LearnDash Settings Page Advanced.
*
* @since 3.6.0
*/
class LearnDash_Settings_Page_Advanced extends LearnDash_Settings_Page {
/**
* Public constructor for class
*
* @since 3.6.0
*/
public function __construct() {
$this->parent_menu_page_url = 'admin.php?page=learndash_lms_settings';
$this->menu_page_capability = LEARNDASH_ADMIN_CAPABILITY_CHECK;
$this->settings_page_id = 'learndash_lms_advanced';
$this->settings_page_title = esc_html_x( 'Advanced', 'Advanced settings Label', 'learndash' );
$this->settings_tab_priority = 100;
$this->show_quick_links_meta = false;
$this->settings_metabox_as_sub = true;
add_action( 'learndash_settings_page_init', array( $this, 'learndash_settings_page_init' ), 10, 1 );
parent::__construct();
}
/**
* Settings page init. Called from `learndash_settings_page_init` action.
*
* @since 3.6.0
*
* @param string $settings_page_id Settings Page ID.
*/
public function learndash_settings_page_init( string $settings_page_id ) {
if ( $settings_page_id !== $this->settings_page_id ) {
return;
}
if ( true !== $this->settings_metabox_as_sub ) {
return;
}
/**
* Filters the list of advanced settings pages which should not display metaboxes.
*
* @since 4.5.0
*
* @param string[] $section_keys Section keys.
*/
$section_keys = apply_filters( 'learndash_admin_settings_advanced_sections_with_hidden_metaboxes', array() );
if ( in_array( $this->get_current_settings_section_as_sub(), $section_keys, true ) ) {
$this->show_submit_meta = false;
$this->show_quick_links_meta = false;
$this->settings_columns = 1;
}
}
}
}
add_action(
'learndash_settings_pages_init',
function () {
LearnDash_Settings_Page_Advanced::add_page_instance();
}
);