Bambora Payment Log Settings Page
class bambora_payments_log_Settings_Page {
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(
'bambora-payments',
esc_html__( 'Bambora Online Payments for WordPress', 'bambora-payments' ),
esc_html__( 'Display options', 'bambora-payments' ),
'manage_options',
'bambora-payments-shortcode',
array( $this, 'page_layout_bambora_shortcode' )
);
}
public function init_settings() {
register_setting(
'bambora_payments_settings_log_group',
'bambora_payments_log_settings'
);
add_settings_section(
'bambora_payments_log_settings_section',
'',
false,
'bambora_payments_log_settings'
);
add_settings_field(
'bambora_title_field',
__( 'Title', 'bambora-payments' ),
array( $this, 'render_bambora_title_field_field' ),
'bambora_payments_log_settings',
'bambora_payments_log_settings_section'
);
add_settings_field(
'bambora_description_field',
__( 'Description', 'bambora-payments' ),
array( $this, 'render_bambora_description_field_field' ),
'bambora_payments_log_settings',
'bambora_payments_log_settings_section'
);
}
public function page_layout_bambora_shortcode() {
// Check required user capability
if ( !current_user_can( 'manage_options' ) ) {
wp_die( esc_html__( 'You do not have sufficient permissions to access this page.', 'bambora-payments' ) );
}
// 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( 'bambora_payments_settings_log_group' );
do_settings_sections( 'bambora_payments_log_settings' );
submit_button();
echo ' </form>' . "n";
echo '</div>' . "n";
}
function render_bambora_title_field_field() {
// Retrieve data from the database.
$options = get_option( 'bambora_payments_log_settings' );
// Set default value.
$value = isset( $options['bambora_title_field'] ) ? $options['bambora_title_field'] : 'Bambora Online Payment';
// Field output.
echo '<input type="text" name="bambora_payments_log_settings[bambora_title_field]" class="regular-text bambora_title_field_field" placeholder="' . esc_attr__( '', 'bambora-payments' ) . '" value="' . esc_attr( $value ) . '">';
echo '<p class="description">' . __( 'The title of the payment method displayed to the customers.', 'bambora-payments' ) . '</p>';
}
function render_bambora_description_field_field() {
// Retrieve data from the database.
$options = get_option( 'bambora_payments_log_settings' );
// Set default value.
$value = isset( $options['bambora_description_field'] ) ? $options['bambora_description_field'] : 'Pay with Bambora Online Payment';
// Field output.
echo '<input type="text" name="bambora_payments_log_settings[bambora_description_field]" class="regular-text bambora_description_field_field" placeholder="' . esc_attr__( '', 'bambora-payments' ) . '" value="' . esc_attr( $value ) . '">';
echo '<p class="description">' . __( 'The description of the payment method displayed to the customers.', 'bambora-payments' ) . '</p>';
}
}
new bambora_payments_log_Settings_Page;