%s', esc_html__('Alertify', 'alertify')), 'manage_woocommerce', 'alertify-settings', array($this, 'display_settings_page'), 99999 ); } public function register_settings() { register_setting('alertify_options', 'alertify_options', array($this, 'sanitize_settings')); // General Settings add_settings_section( 'alertify_general_settings', '', null, 'alertify_general_options' ); add_settings_field( 'enable_notifications', esc_html__('Enable Notifications', 'alertify'), array($this, 'render_enable_field'), 'alertify_general_options', 'alertify_general_settings' ); // Frontend Text Settings add_settings_section( 'alertify_frontend_text', esc_html__('Frontend Text', 'alertify'), null, 'alertify_general_options' ); add_settings_field( 'button_text', esc_html__('Button Label', 'alertify'), array($this, 'render_text_field'), 'alertify_general_options', 'alertify_frontend_text', array('key' => 'button_text', 'default' => esc_html__('Notify When Available', 'alertify')) ); add_settings_field( 'popup_title', esc_html__('Popup Title', 'alertify'), array($this, 'render_text_field'), 'alertify_general_options', 'alertify_frontend_text', array('key' => 'popup_title', 'default' => esc_html__('Get Back In Stock Notification', 'alertify')) ); add_settings_field( 'submit_button_text', esc_html__('Submit Button Text', 'alertify'), array($this, 'render_text_field'), 'alertify_general_options', 'alertify_frontend_text', array('key' => 'submit_button_text', 'default' => esc_html__('Notify Me', 'alertify')) ); // Email Settings add_settings_section( 'alertify_email_settings', '', null, 'alertify_email_options' ); add_settings_field( 'emails_per_hour', esc_html__('Emails Per Hour', 'alertify'), array($this, 'render_emails_per_hour_field'), 'alertify_email_options', 'alertify_email_settings' ); add_settings_field( 'email_template', esc_html__('Email Template', 'alertify'), array($this, 'render_email_template_field'), 'alertify_email_options', 'alertify_email_settings' ); } public function sanitize_settings($input) { $sanitized = array(); $sanitized['enable_notifications'] = isset($input['enable_notifications']) ? 1 : 0; $sanitized['emails_per_hour'] = absint($input['emails_per_hour']); $sanitized['email_template'] = wp_kses_post($input['email_template']); // New text fields $text_fields = array('button_text', 'popup_title', 'submit_button_text'); foreach ($text_fields as $field) { $sanitized[$field] = isset($input[$field]) ? sanitize_text_field($input[$field]) : ''; } return $sanitized; } public function render_enable_field() { $options = get_option('alertify_options', array()); $enabled = isset($options['enable_notifications']) ? $options['enable_notifications'] : 1; ?>
{customer_name} -
{product_name} -
{product_link} -
{site_name} -
{product_price} -
{product_sku} -
{product_image} -
{unsubscribe_link} -