Untitled Snippet
class Advanced_Options {
public function __construct() {
add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
add_action( 'admin_init', array( $this, 'init_settings' ) );
}
public function add_admin_menu() {
add_submenu_page(
'theme_options',
esc_html__( 'Advanced', 'text_domain' ),
esc_html__( 'Advanced Options', 'text_domain' ),
'manage_options',
'Advanced Options',
array( $this, 'page_layout' )
);
}
public function init_settings() {
register_setting(
'theme_options_group',
'advanced_options'
);
add_settings_section(
'advanced_options_section',
'',
false,
'advanced_options'
);
}
public function page_layout() {
// Check required user capability
if ( !current_user_can( 'manage_options' ) ) {
wp_die( esc_html__( 'You do not have sufficient permissions to access this page.', 'text_domain' ) );
}
// Admin Page Layout
echo '<div class="wrap">' . "n";
echo ' <h1>' . get_admin_page_title() . '</h1>' . "n";
echo ' <form action="options.php" method="post">' . "n";
settings_fields( 'theme_options_group' );
do_settings_sections( 'advanced_options' );
submit_button();
echo ' </form>' . "n";
echo '</div>' . "n";
}
}
new Advanced_Options;