nt( $dependency_errors ); } /** * Deactivates this plugin. */ public function deactivate_self() { deactivate_plugins( plugin_basename( WC_ADMIN_PLUGIN_FILE ) ); unset( $_GET['activate'] ); // phpcs:ignore CSRF ok. } /** * Notify users of the plugin requirements. */ public function render_dependencies_notice() { $message = $this->get_dependency_errors(); printf( '

%s

', implode( ' ', $message ) ); /* phpcs:ignore xss ok. */ } /** * Overwrites the allowed features array using a local `feature-config.php` file. * * @param array $features Array of feature slugs. */ public function replace_supported_features( $features ) { $feature_config = apply_filters( 'woocommerce_admin_get_feature_config', wc_admin_get_feature_config() ); $features = array_keys( array_filter( $feature_config ) ); return $features; } /** * Define constant if not already set. * * @param string $name Constant name. * @param string|bool $value Constant value. */ protected function define( $name, $value ) { if ( ! defined( $name ) ) { define( $name, $value ); } } /** * Prevent cloning. */ private function __clone() {} /** * Prevent unserializing. */ public function __wakeup() { die(); } }