Files
wp-multisite-waas/inc/traits/trait-wp-ultimo-coupon-deprecated.php
David Stone d88e50df38 Prep Plugin for release on WordPress.org (#23)
* Update translation text domain
* Escape everything that should be escaped.
* Add nonce checks where needed.
* Sanitize all inputs.
* Apply Code style changes across the codebase.
* Correct many deprecation notices.
* Optimize load order of many filters.
* Add Proper Build script
* Use emojii flags
* Fix i18n deprecation  notice for translating too early
* Put all scripts in footer and load async
2025-04-14 11:36:46 -06:00

75 lines
1.6 KiB
PHP

<?php
/**
* A trait to be included in entities to WU_Coupon Class depecrated methods.
*
* @package WP_Ultimo
* @subpackage Deprecated
* @since 2.0.0
*/
namespace WP_Ultimo\Traits;
/**
* WP_Ultimo_Coupon_Deprecated trait.
*/
trait WP_Ultimo_Coupon_Deprecated {
/**
* Generic set for old add-ons.
*
* @since 2.0.0
*
* @param string $key Meta key to save.
* @param mixed $value The value to save as meta.
*/
public function __set($key, $value) {
/**
* Let developers know that this is not going to be supported in the future.
*
* @since 2.0.0
*/
_doing_it_wrong($key, __('Discount Code keys should not be set directly.', 'wp-multisite-waas'), '2.0.0');
$this->meta[ "wpu_{$key}" ] = $value;
}
/**
* Magic getter to provide backwards compatibility for plans.
*
* @since 2.0.0
*
* @throws \Exception Throws an exception when trying to get a key that is not available or back-compat.
* @param string $key Property to get.
* @return mixed
*/
public function __get($key) {
$value = null;
switch ($key) {
default:
$value = $this->get_meta('wpu_' . $key, false, true);
}
if (null === $value) {
// translators: the placeholder is the key.
$message = sprintf(__('Discount Codes do not have a %s parameter', 'wp-multisite-waas'), $key);
// throw new \Exception($message);
return false;
}
/**
* Let developers know that this is not going to be supported in the future.
*
* @since 2.0.0
*/
_doing_it_wrong($key, __('Discount Code keys should not be accessed directly', 'wp-multisite-waas'), '2.0.0');
return $value;
}
}