establish base code
This commit is contained in:
87
libs/settings.php
Normal file
87
libs/settings.php
Normal file
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
|
||||
class fourthwall_settings {
|
||||
|
||||
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_menu_page(
|
||||
esc_html__( 'Fourthwall Store Embed', 'fourthwall_text_domain' ),
|
||||
esc_html__( 'FourthWall Embed', 'fourthwall_text_domain' ),
|
||||
'manage_options',
|
||||
'fwembed',
|
||||
array( $this, 'fourthwall_page_layout' ),
|
||||
'dashicons-store',
|
||||
10
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
public function init_settings() {
|
||||
|
||||
register_setting(
|
||||
'fourthwall_settings_group',
|
||||
'fourthwall_settings_name'
|
||||
);
|
||||
|
||||
add_settings_section(
|
||||
'fourthwall_settings_name_section',
|
||||
'',
|
||||
false,
|
||||
'fourthwall_settings_name'
|
||||
);
|
||||
|
||||
add_settings_field(
|
||||
'fourth_url',
|
||||
__( 'Store URL', 'fourthwall_text_domain' ),
|
||||
array( $this, 'render_fourth_url_field' ),
|
||||
'fourthwall_settings_name',
|
||||
'fourthwall_settings_name_section'
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
public function fourthwall_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.', 'fourthwall_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( 'fourthwall_settings_group' );
|
||||
do_settings_sections( 'fourthwall_settings_name' );
|
||||
submit_button();
|
||||
|
||||
echo ' </form>' . "\n";
|
||||
echo '</div>' . "\n";
|
||||
|
||||
}
|
||||
|
||||
function render_fourth_url_field() {
|
||||
|
||||
// Retrieve data from the database.
|
||||
$options = get_option( 'fourthwall_settings_name' );
|
||||
|
||||
// Set default value.
|
||||
$value = isset( $options['fourth_url'] ) ? $options['fourth_url'] : '';
|
||||
|
||||
// Field output.
|
||||
echo '<input type="url" name="fourthwall_settings_name[fourth_url]" class="regular-text fourth_url_field" placeholder="' . esc_attr__( 'https://some-shop.fourthwall.com', 'fourthwall_text_domain' ) . '" value="' . esc_attr( $value ) . '">';
|
||||
echo '<p class="description">' . __( 'The fourth wall URL', 'fourthwall_text_domain' ) . '</p>';
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
new fourthwall_settings;
|
Reference in New Issue
Block a user