option_name, [ 'sanitize_callback' => [ $this, 'sanitize_settings' ] ] ); } public function sanitize_settings( $input ) { $sanitized_input = []; if ( is_array( $input ) ) { foreach ( $input as $key => $value ) { if ( strpos( $key, 'color' ) !== false || strpos( $key, 'bg' ) !== false ) { $sanitized_input[$key] = sanitize_hex_color( $value ); } else { $sanitized_input[$key] = sanitize_text_field( $value ); } } } return $sanitized_input; } public function render_admin_page() { if ( ! current_user_can( 'manage_options' ) ) return; $settings = get_option( $this->option_name, [] ); $tabs = [ 'grid_atc' => esc_html__( 'Add to Cart (Grid)', 'adi-buy-now-quick-cart' ), 'grid_bn' => esc_html__( 'Buy Now (Grid)', 'adi-buy-now-quick-cart' ), 'single_atc' => esc_html__( 'Add to Cart (Single Page)', 'adi-buy-now-quick-cart' ), 'single_bn' => esc_html__( 'Buy Now (Single Page)', 'adi-buy-now-quick-cart' ), 'shortcodes' => esc_html__( 'Shortcodes', 'adi-buy-now-quick-cart' ) ]; ?>

render_style_fields($section, $settings); ?>

[adibnqc_grid_atc]
[adibnqc_grid_bn]
[adibnqc_single_buttons]
field_text($prefix.'_text_label', esc_html__( 'Button Text', 'adi-buy-now-quick-cart' ), $settings); $this->field_color($prefix.'_bg_color', esc_html__( 'Background Color', 'adi-buy-now-quick-cart' ), $settings); $this->field_color($prefix.'_hover_bg', esc_html__( 'Hover Background', 'adi-buy-now-quick-cart' ), $settings); $this->field_color($prefix.'_text_color', esc_html__( 'Text Color', 'adi-buy-now-quick-cart' ), $settings); $this->field_color($prefix.'_hover_text', esc_html__( 'Hover Text', 'adi-buy-now-quick-cart' ), $settings); $this->field_text($prefix.'_padding', esc_html__( 'Padding (e.g. 10px)', 'adi-buy-now-quick-cart' ), $settings); $this->field_text($prefix.'_border_radius', esc_html__( 'Border Radius (e.g. 10px)', 'adi-buy-now-quick-cart' ), $settings); $this->field_text($prefix.'_font_size', esc_html__( 'Font Size (e.g. 16px)', 'adi-buy-now-quick-cart' ), $settings); $fw_key = $prefix.'_full_width'; $fw_val = $settings[$fw_key] ?? 'no'; // ✅ Fixed name: ADIBNQC_settings -> adibnqc_settings echo '
'; } private function field_text($id, $label, $s) { $val = $s[$id] ?? ''; ?>