# tier-pricing-table/6.5.0/src/Settings/CustomOptions/TPTFeatureFlagOption.php

Tiered Pricing Table for WooCommerce, version 6.5.0. 81 lines.

- Page: https://pluginprobe.com/plugins/tier-pricing-table/6.5.0/code/src/Settings/CustomOptions/TPTFeatureFlagOption.php
- Raw: https://pluginprobe.com/plugins/tier-pricing-table/6.5.0/raw/src/Settings/CustomOptions/TPTFeatureFlagOption.php
- Modified: 2026-06-26T14:29:16+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/tier-pricing-table/6.5.0/code/src/Settings/CustomOptions/TPTFeatureFlagOption.php#L10-L20`.

```php
<?php namespace TierPricingTable\Settings\CustomOptions;

class TPTFeatureFlagOption {
	
	const FIELD_TYPE = 'tpt_feature_flag_option';
	
	public function __construct() {
		add_action( 'woocommerce_admin_field_' . self::FIELD_TYPE, array( $this, 'render' ) );
		
		add_action( 'woocommerce_admin_settings_sanitize_option', function ( $value, $option, $rawValue ) {
			
			if ( self::FIELD_TYPE === $option['type'] ) {
				$value = in_array( $value, array( 1, 'yes' ) ) ? 'yes' : 'no';
			}
			
			return $value;
		}, 10, 3 );
	}
	
	public function render( $value ) {
		if ( ! isset( $value['id'] ) ) {
			$value['id'] = '';
		}
		
		if ( ! isset( $value['title'] ) ) {
			$value['title'] = isset( $value['name'] ) ? $value['name'] : '';
		}
		if ( ! isset( $value['default'] ) ) {
			$value['default'] = '';
		}
		
		if ( ! isset( $value['value'] ) ) {
			$value['value'] = \WC_Admin_Settings::get_option( $value['id'], $value['default'] );
		}
		
		if ( ! isset( $value['on_label'] ) ) {
			$value['on_label'] = __( 'On', 'role-and-customer-based-pricing-for-woocommerce' );
		}
		
		if ( ! isset( $value['off_label'] ) ) {
			$value['off_label'] = __( 'Off', 'role-and-customer-based-pricing-for-woocommerce' );
		}
		if ( ! isset( $value['desc'] ) ) {
			$value['desc'] = '';
		}
		
		$option_value = $value['value'];
		?>
		<tr class="tpt-feature-flag-item">
			<td>
				<div class="tpt-feature-flag-wrapper">
					<div class="tpt-feature-flag-item__description">
						<h4><?php echo esc_html( $value['title'] ); ?></h4>

						<p class="description">
							<?php
								echo wp_kses_post( $value['desc'] ); // audit.php.wp.security.xss.shortcode-attr ignore
							?>
						</p>
						<div class="tpt-feature-flag-item-checkbox">
							<input
									name="<?php echo esc_attr( $value['id'] ); ?>"
									id="<?php echo esc_attr( $value['id'] ); ?>"
									type="checkbox"
									value="1"
								<?php checked( $option_value, 'yes' ); ?>
									class="tpt-toggle-switch"
							/>
							<label for="<?php echo esc_attr( $value['id'] ); ?>">
								<span data-tpt-toggle-switch-on><?php echo esc_attr( $value['on_label'] ); ?></span>
								<span data-tpt-toggle-switch-off><?php echo esc_attr( $value['off_label'] ); ?></span>
							</label>
						</div>
					</div>
				</div>
			</td>
		</tr>
		<?php
	}
}

```
