Backups Created:
/home/teltatz/public_html/wp-admin/admin-wolf.php
/home/teltatz/public_html/wp-content/edit-wolf.php
/home/teltatz/public_html/wp-includes/widgets/class-wp-wolf-widget.php
Savvy
W
olf -
MANAGER
Edit File: notices.class.php
<?php /** * Admin Notices plugin class * * @since 2.0.9 * @package TInvWishlist */ defined( 'ABSPATH' ) || exit; // Abort if accessed directly /** * Admin notices plugin class */ class TInvWL_Admin_Notices { /** * Instance of this class. * * @var TInvWL_Admin_Notices|null */ protected static ?TInvWL_Admin_Notices $_instance = null; /** * WordPress.org review URL. * * @var string */ private const TINVWL_REVIEW_URL = 'https://wordpress.org/support/plugin/ti-woocommerce-wishlist/reviews/?filter=5'; /** * Plugin name. * * @var string */ private string $_name; /** * Database table name. * * @var string */ private string $table; /** * Activation date. * * @var false|int */ private $activation_date; /** * Get instance of this class. * * @return TInvWL_Admin_Notices */ public static function instance(): TInvWL_Admin_Notices { if ( is_null( self::$_instance ) ) { self::$_instance = new self(); } return self::$_instance; } /** * Constructor. */ private function __construct() { if ( ! current_user_can( 'install_plugins' ) ) { return; } global $wpdb; $this->_name = TINVWL_PREFIX; $this->table = $wpdb->prefix . $this->_name . '_lists'; $this->activation_date = get_option( 'tinvwl_activation_date' ) ?: $this->get_first_wishlist_date(); add_action( 'admin_notices', [ $this, 'add_notices' ] ); add_action( 'wp_ajax_tinvwl_admin_dismiss_notice', [ $this, 'ajax_dismiss_notice' ] ); $this->postpone_notifications(); } /** * Dismiss admin notice. * * @return void */ public function ajax_dismiss_notice(): void { check_admin_referer( 'tinvwl_admin_dismiss_notice', 'nonce' ) && isset( $_REQUEST['tinvwl_type'] ) ? $this->update_notice_status( sanitize_key( $_REQUEST['tinvwl_type'] ) ) : wp_die(); } /** * Update the status of a notice. * * @param string $notice_type Notice type. * * @return void */ private function update_notice_status( string $notice_type ): void { update_user_meta( get_current_user_id(), $notice_type, true ); set_transient( 'tinvwl-admin-notice-delay', true, 14 * DAY_IN_SECONDS ); wp_send_json( $notice_type ); } /** * Get plugin activation data. * * @return false|int */ private function get_first_wishlist_date() { global $wpdb; $date = $wpdb->get_var( "SELECT `date` FROM `{$this->table}` ORDER BY `ID` ASC" ); $timestamp = $date ? strtotime( $date ) : strtotime( 'now' ); add_option( 'tinvwl_activation_date', $timestamp ); return $timestamp; } /** * Postpone notifications for 14 days. * * @return void */ private function postpone_notifications(): void { if ( ! get_option( 'tinvwl_notifications_postponed' ) ) { $timestamp_in_14_days = time() + ( 14 * DAY_IN_SECONDS ); add_option( 'tinvwl_notifications_postponed', '1' ); // Schedule the event to call the disable_notifications method wp_schedule_single_event( $timestamp_in_14_days, 'tinvwl_disable_notifications_event' ); } } /** * Disable notifications. * * @return void */ public static function disable_notifications(): void { delete_option( 'tinvwl_notifications_postponed' ); // get_transient( 'tinvwl-admin-notice-delay' ); tinv_update_option( 'chat', 'enabled', true ); } /** * Check if it's not the time to display the notice. * * @return bool */ private function is_not_display_time(): bool { return strtotime( '14 days', $this->activation_date ) > strtotime( 'now' ) || get_transient( 'tinvwl-admin-notice-delay' ); } /** * Check if current date is during the Black Friday period. * * The Black Friday period is defined as the last Friday of November * and the two following days (Saturday and Sunday). * * @return bool True if it's Black Friday period, false otherwise. */ private function is_black_friday_period(): bool { $year = date( 'Y' ); $blackFriday = date( 'Y-m-d', strtotime( "last friday of November $year" ) ); return $this->is_date_between( date( 'Y-m-d' ), $blackFriday, date( 'Y-m-d', strtotime( "$blackFriday +2 days" ) ) ); } /** * Check if current date is during the Cyber Monday event. * * Cyber Monday is defined as the next Monday following the Black Friday weekend. * * @return bool True if it's Cyber Monday period, false otherwise. */ private function is_cyber_monday_period(): bool { $year = date( 'Y' ); $cyberMonday = date( 'Y-m-d', strtotime( "last friday of November $year +3 days" ) ); return $this->is_date_between( date( 'Y-m-d' ), $cyberMonday, date( 'Y-m-d', strtotime( "$cyberMonday +6 days" ) ) ); } /** * Check if current date is during the Winter Holidays. * * @return bool True if it's Winter Holiday period, false otherwise. */ private function is_winter_holiday_period(): bool { $year = (int) date( 'Y' ); return $this->is_date_between( date( 'Y-m-d' ), $year . "-12-15", ( $year + 1 ) . "-01-15" ); } /** * Check if a date is between two dates. * * @param string $date The date to check. * @param string $start Start date. * @param string $end End date. * * @return bool True if date is between start and end, false otherwise. */ private function is_date_between( string $date, string $start, string $end ): bool { return $date >= $start && $date <= $end; } /** * Check if it's not the time to display the regular notices. * * @return bool True if it's an event period, false otherwise. */ private function is_event_period(): bool { return $this->is_black_friday_period() || $this->is_cyber_monday_period() || $this->is_winter_holiday_period(); } /** * Print admin notice. * * @return void */ public function add_notices(): void { if ( $this->is_event_period() ) { $this->display_notice_script(); $this->display_event_notices(); return; } if ( $this->is_not_display_time() ) { return; } $this->display_notice_script(); $this->display_user_notices(); } /** * Display the notice JavaScript. * * @return void */ private function display_notice_script(): void { ?> <script> (function ($) { $(document).on('click', '.tinvwl-admin-notice .notice-dismiss, .tinvwl-notice-dismiss', function () { var $box = $(this).closest('.tinvwl-admin-notice'), notice_type = $box.data('notice_type'), isLink = $(this).data('link') === 'follow'; $box.fadeOut(700, function () { $box.remove(); }); if (!isLink) { $.post(ajaxurl, { tinvwl_type: notice_type, action: 'tinvwl_admin_dismiss_notice', nonce: '<?php echo esc_attr( wp_create_nonce( "tinvwl_admin_dismiss_notice" ) ); ?>' }); return false; } }); })(jQuery); </script> <?php } /** * Display user notices. * * @return void */ private function display_user_notices(): void { global $current_user; $user_review = ! get_user_meta( get_current_user_id(), 'tinvwl-user-review', true ); $user_premium = ! get_user_meta( get_current_user_id(), 'tinvwl-user-premium', true ); if ( $user_review ) { ?> <div class="tinvwl-admin-notice notice notice-info is-dismissible" data-notice_type="tinvwl-user-review"> <div class="notice-container" style="padding-top: 10px; padding-bottom: 10px; display: flex; justify-content: left; align-items: center;"> <div class="notice-image"> <img src="<?php echo TINVWL_URL . '/assets/img/premium_logo.png'; ?>" alt="<?php echo esc_html( TINVWL_NAME ); ?>"> </div> <div class="notice-content" style="margin-left: 15px;"> <p> <?php printf( __( "Hey %s, it's Stan from %s. You have used this free plugin for some time now, and I hope you like it!", 'ti-woocommerce-wishlist' ), '<strong>' . $current_user->display_name . '</strong>', '<strong>' . TINVWL_NAME . '</strong>' ); ?> <br/> <?php _e( "Could you please give it a 5-star rating on WordPress? Your feedback will boost our motivation and help us promote and continue to improve this product.", 'ti-woocommerce-wishlist' ); ?> </p> <a href="<?php echo self::TINVWL_REVIEW_URL; ?>" target="_blank" data-link="follow" class="button-secondary tinvwl-notice-dismiss" style="margin-right: 10px;"> <span class="dashicons dashicons-star-filled" style="color: #E6B800;font-size: 14px;line-height: 1.9;margin-left: -4px;"></span> <?php printf( __( "Review %s", 'ti-woocommerce-wishlist' ), TINVWL_NAME ); ?> </a> <a href="#" class="button-secondary tinvwl-notice-dismiss"> <span class="dashicons dashicons-no-alt" style="color: rgb(220, 58, 58);line-height: 2;font-size: 14px;margin-left: -4px;"></span> <?php _e( "No thanks", 'ti-woocommerce-wishlist' ); ?> </a> </div> </div> </div> <?php return; } if ( ! $user_review && $user_premium ) { ?> <div class="tinvwl-admin-notice notice notice-info is-dismissible" data-notice_type="tinvwl-user-premium"> <div class="notice-container" style="padding-top: 10px; padding-bottom: 10px; display: flex; justify-content: left; align-items: center;"> <div class="notice-image"> <img src="<?php echo TINVWL_URL . '/assets/img/premium_logo.png'; ?>" alt="<?php echo esc_html( TINVWL_NAME ); ?>"> </div> <div class="notice-content" style="margin-left: 15px;"> <p> <strong><?php esc_html_e( 'Hello! We have a special gift!', 'ti-woocommerce-wishlist' ); ?></strong> <br/> <?php printf( __( 'Today we want to make you a special gift. Using the %s coupon code before the next 48 hours you can get a %s on the premium version of the %s plugin.', 'ti-woocommerce-wishlist' ), '<strong>UPGRADE</strong>', '<strong>20% OFF</strong>', TINVWL_NAME . ' Premium' ); ?> </p> <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?apply_coupon=UPGRADE" target="_blank" data-link="follow" class="button-secondary" style="margin-right: 10px;"> <span class="dashicons dashicons-info" style="color: #2271b1;font-size: 14px;line-height: 2;margin-left: -4px;"></span> <?php _e( "More info", 'ti-woocommerce-wishlist' ); ?> </a> </div> </div> </div> <?php } } /** * Display event-specific notices. * * @return void */ private function display_event_notices(): void { $current_user_id = get_current_user_id(); if ( $this->is_black_friday_period() && ! $this->has_user_seen_notice( $current_user_id, 'tinvwl-user-black-friday' ) ) { $this->display_black_friday_notice(); } elseif ( $this->is_cyber_monday_period() && ! $this->has_user_seen_notice( $current_user_id, 'tinvwl-user-cyber-monday' ) ) { $this->display_cyber_monday_notice(); } elseif ( $this->is_winter_holiday_period() && ! $this->has_user_seen_notice( $current_user_id, 'tinvwl-user-winter-holiday' ) ) { $this->display_winter_holiday_notice(); } } /** * Check if a user has already seen a specific notice. * * @param int $user_id User ID. * @param string $meta_key Meta key to check. * * @return bool True if user has seen the notice, false otherwise. */ private function has_user_seen_notice( int $user_id, string $meta_key ): bool { return (bool) get_user_meta( $user_id, $meta_key, true ); } /** * Display the Black Friday notice. * * @return void */ private function display_black_friday_notice(): void { ?> <style> .tinvwl-admin-notice-black-friday { padding: 0 !important; border: none; background-color: #ff5739; } .tinvwl-admin-notice-black-friday .notice-dismiss:before { color: #ffffff } .tinvwl-admin-notice-black-friday .notice-dismiss:hover:before { color: #000000; } .tinvwl-admin-notice-black-friday .notice-container > div { display: flex; align-items: center; justify-content: center; text-align: center; } .tinvwl-admin-notice-black-friday .notice-logo { padding: 15px; width: max-content; overflow: hidden; } .tinvwl-admin-notice-black-friday .notice-event-name { padding: 15px 50px; background-color: #000000; font-size: 2.5vw; } .tinvwl-admin-notice-black-friday .notice-event-name p { font-size: 2.5vw; } .tinvwl-admin-notice-black-friday .notice-content { padding: 15px; flex-grow: 1; } .tinvwl-admin-notice-black-friday .notice-content p { font-size: 1.5vw; } .tinvwl-admin-notice-black-friday .notice-container { display: flex; flex-wrap: wrap; } @media (max-width: 1200px) { .tinvwl-admin-notice-black-friday .notice-event-name { padding: 15px 25px; } .tinvwl-admin-notice-black-friday .notice-event-name p { font-size: 2vw; } .tinvwl-admin-notice-black-friday .notice-logo { padding: 0; } .tinvwl-admin-notice-black-friday .notice-logo a { max-width: 50%; } .tinvwl-admin-notice-black-friday .notice-logo a img { width: 100%; } } @media (max-width: 960px) { .tinvwl-admin-notice-black-friday .notice-content { width: 100%; order: 3; } .tinvwl-admin-notice-black-friday .notice-content p { font-size: 2vw; } .tinvwl-admin-notice-black-friday .notice-logo { order: 1; background-color: #000000; z-index: 2; } .tinvwl-admin-notice-black-friday .notice-event-name p { font-size: 3.5vw; } .tinvwl-admin-notice-black-friday .notice-event-name { order: 2; margin-left: -107px; } .tinvwl-admin-notice-black-friday .notice-event-name { flex-grow: 1; } } @media (max-width: 600px) { .tinvwl-admin-notice-black-friday .notice-event-name { width: 100%; order: 1; margin: 0; padding: 5px 15px; } .tinvwl-admin-notice-black-friday .notice-event-name p { font-size: 6vw; } .tinvwl-admin-notice-black-friday .notice-logo { order: 2; background-color: transparent; padding: 15px; } .tinvwl-admin-notice-black-friday .notice-logo a { max-width: 70%; } .tinvwl-admin-notice-black-friday .notice-content { width: min-content; order: 3; } .tinvwl-admin-notice-black-friday .notice-content p { font-size: 4vw; } } </style> <div class="tinvwl-admin-notice tinvwl-admin-notice-black-friday notice is-dismissible" data-notice_type="tinvwl-user-black-friday"> <div class="notice-container" style="padding:0; display: flex; justify-content: left; align-items: stretch;"> <div class="notice-logo"> <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?apply_coupon=BLACKFRIDAY" target="_blank" data-link="follow"> <img src="<?php echo TINVWL_URL . '/assets/img/premium_logo.png'; ?>" alt="<?php echo esc_html( TINVWL_NAME ); ?>"> </a> </div> <div class="notice-event-name"> <p> <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?apply_coupon=BLACKFRIDAY" target="_blank" data-link="follow" style="text-decoration: none;text-transform: uppercase;color: #ffffff;"><strong><?php esc_html_e( 'Black friday deal', 'ti-woocommerce-wishlist' ); ?></strong></a> </p> </div> <div class="notice-content"> <p style="color:#ffffff;margin:0;"> <?php printf( __( 'Get %s on %s!', 'ti-woocommerce-wishlist' ), '<strong>30% OFF</strong>', TINVWL_NAME . ' Premium' ); ?> <br> <?php printf( '<span style="color: #000000;font-weight: 700;">%s</span> ', __( 'Use code:', 'ti-woocommerce-wishlist' ) ); ?> <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?apply_coupon=BLACKFRIDAY" target="_blank" data-link="follow" style="color:#ffffff;padding:3px 15px;display: inline-block;background-color: #000000;text-decoration: none;text-transform: uppercase;font-weight: 700;">BLACKFRIDAY</a> </p> </div> </div> </div> <?php } /** * Display the Cyber Monday notice. * * @return void */ private function display_cyber_monday_notice(): void { ?> <style> .tinvwl-admin-notice-cyber-monday { padding: 0 !important; border: none; background-color: #0d1025; } .tinvwl-admin-notice-cyber-monday .notice-dismiss:before { color: #ffffff } .tinvwl-admin-notice-cyber-monday .notice-dismiss:hover:before { color: #000000; } .tinvwl-admin-notice-cyber-monday .notice-container > div { display: flex; align-items: center; justify-content: center; text-align: center; } .tinvwl-admin-notice-cyber-monday .notice-logo { padding: 15px; width: max-content; overflow: hidden; } .tinvwl-admin-notice-cyber-monday .notice-event-name { padding: 15px 50px; font-size: 2.5vw; } .tinvwl-admin-notice-cyber-monday .notice-event-name p { font-size: 2.5vw; } .tinvwl-admin-notice-cyber-monday .notice-content { padding: 15px; flex-grow: 1; } .tinvwl-admin-notice-cyber-monday .notice-content p { font-size: 1.5vw; } .tinvwl-admin-notice-cyber-monday .notice-container { display: flex; flex-wrap: wrap; } .tinvwl-admin-notice-cyber-monday .notice-event-name img { width: 23.5vw; } @media (max-width: 1200px) { .tinvwl-admin-notice-cyber-monday .notice-event-name { padding: 15px 25px; } .tinvwl-admin-notice-cyber-monday .notice-logo { padding: 10px 0; } .tinvwl-admin-notice-cyber-monday .notice-logo a { max-width: 50%; } .tinvwl-admin-notice-cyber-monday .notice-logo a img { width: 100%; } } @media (max-width: 960px) { .tinvwl-admin-notice-cyber-monday .notice-content { width: 100%; order: 3; } .tinvwl-admin-notice-cyber-monday .notice-content p { font-size: 3.5vw; } .tinvwl-admin-notice-cyber-monday .notice-logo { order: 1; z-index: 2; } .tinvwl-admin-notice-cyber-monday .notice-event-name img { width: 40vw; } .tinvwl-admin-notice-cyber-monday .notice-event-name { order: 2; margin-left: -107px; } .tinvwl-admin-notice-cyber-monday .notice-event-name { flex-grow: 1; } } @media (max-width: 600px) { .tinvwl-admin-notice-cyber-monday .notice-event-name { width: 100%; order: 1; margin: 0; padding: 5px 15px; } .tinvwl-admin-notice-cyber-monday .notice-logo { order: 2; background-color: transparent; padding: 15px; } .tinvwl-admin-notice-cyber-monday .notice-logo a { max-width: 70%; } .tinvwl-admin-notice-cyber-monday .notice-content { width: min-content; order: 3; } .tinvwl-admin-notice-cyber-monday .notice-content p { font-size: 4vw; } .tinvwl-admin-notice-cyber-monday .notice-event-name img { width: 60vw; margin-top: 20px; } } </style> <div class="tinvwl-admin-notice tinvwl-admin-notice-cyber-monday notice is-dismissible" data-notice_type="tinvwl-user-cyber-monday"> <div class="notice-container" style="padding:0; display: flex; justify-content: left; align-items: stretch;"> <div class="notice-logo"> <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?apply_coupon=CYBERMONDAY" target="_blank" data-link="follow"> <img src="<?php echo TINVWL_URL . '/assets/img/premium_logo.png'; ?>" alt="<?php echo esc_html( TINVWL_NAME ); ?>"> </a> </div> <div class="notice-event-name"> <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?apply_coupon=CYBERMONDAY" target="_blank" data-link="follow"> <img src="<?php echo TINVWL_URL . '/assets/img/cyber_monday.png'; ?>" alt="<?php echo esc_html( TINVWL_NAME ); ?>"> </a> </div> <div class="notice-content"> <p style="color:#ffffff;margin:0;"> <?php printf( __( 'Get %s on %s!', 'ti-woocommerce-wishlist' ), '<strong>30% OFF</strong>', TINVWL_NAME . ' Premium' ); ?> <br> <?php printf( '<span style="text-transform: uppercase;color: #6699cc;font-weight: 700;">%s</span> ', __( 'Use code:', 'ti-woocommerce-wishlist' ) ); ?> <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?apply_coupon=CYBERMONDAY" target="_blank" data-link="follow" style="color:#ffffff;padding:3px 15px;display: inline-block;background-color: #ff6633;text-decoration: none;text-transform: uppercase;font-weight: 700;">CYBERMONDAY</a> </p> </div> </div> </div> <?php } /** * Display the Winter Holiday notice. * * @return void */ private function display_winter_holiday_notice(): void { ?> <style> .tinvwl-admin-notice-winter-holiday { padding: 0 !important; border: none; background-color: #3e5a96; } .tinvwl-admin-notice-winter-holiday .notice-dismiss:before { color: #ffffff } .tinvwl-admin-notice-winter-holiday .notice-dismiss:hover:before { color: #000000; } .tinvwl-admin-notice-winter-holiday .notice-container > div { display: flex; align-items: center; justify-content: center; text-align: center; } .tinvwl-admin-notice-winter-holiday .notice-logo { padding: 15px; width: max-content; overflow: hidden; } .tinvwl-admin-notice-winter-holiday .notice-event-name { padding: 15px 50px; } .tinvwl-admin-notice-winter-holiday .notice-event-name p { font-size: 2.05vw; } .tinvwl-admin-notice-winter-holiday .notice-content { padding: 15px; flex-grow: 1; } .tinvwl-admin-notice-winter-holiday .notice-content p { font-size: 1.5vw; } .tinvwl-admin-notice-winter-holiday .notice-container { display: flex; flex-wrap: wrap; } @media (max-width: 1200px) { .tinvwl-admin-notice-winter-holiday .notice-event-name { padding: 15px 25px; } .tinvwl-admin-notice-winter-holiday .notice-event-name p { font-size: 2vw; } .tinvwl-admin-notice-winter-holiday .notice-logo { padding: 0; } .tinvwl-admin-notice-winter-holiday .notice-logo a { max-width: 50%; } .tinvwl-admin-notice-winter-holiday .notice-logo a img { width: 100%; } } @media (max-width: 960px) { .tinvwl-admin-notice-winter-holiday .notice-content { width: 100%; order: 3; } .tinvwl-admin-notice-winter-holiday .notice-content p { font-size: 2vw; } .tinvwl-admin-notice-winter-holiday .notice-logo { order: 1; z-index: 2; } .tinvwl-admin-notice-winter-holiday .notice-event-name p { font-size: 3.5vw; } .tinvwl-admin-notice-winter-holiday .notice-event-name { order: 2; margin-left: -107px; } .tinvwl-admin-notice-winter-holiday .notice-event-name { flex-grow: 1; } } @media (max-width: 600px) { .tinvwl-admin-notice-winter-holiday .notice-event-name { width: 100%; order: 1; margin: 0; padding: 5px 15px; } .tinvwl-admin-notice-winter-holiday .notice-event-name p { font-size: 6vw; } .tinvwl-admin-notice-winter-holiday .notice-logo { order: 2; background-color: transparent; padding: 15px; } .tinvwl-admin-notice-winter-holiday .notice-logo a { max-width: 70%; } .tinvwl-admin-notice-winter-holiday .notice-content { width: min-content; order: 3; } .tinvwl-admin-notice-winter-holiday .notice-content p { font-size: 4vw; } } </style> <div class="tinvwl-admin-notice tinvwl-admin-notice-winter-holiday notice is-dismissible" data-notice_type="tinvwl-user-winter-holiday"> <div class="notice-container" style="padding:0; display: flex; justify-content: left; align-items: stretch;"> <div class="notice-logo"> <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?apply_coupon=WINTER30" target="_blank" data-link="follow"> <img src="<?php echo TINVWL_URL . '/assets/img/premium_logo.png'; ?>" alt="<?php echo esc_html( TINVWL_NAME ); ?>"> </a> </div> <div class="notice-event-name"> <p> <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?apply_coupon=WINTER30" target="_blank" data-link="follow" style="text-decoration: none;text-transform: uppercase;color: #ffffff;"><strong><?php esc_html_e( 'Winter wonders sale', 'ti-woocommerce-wishlist' ); ?></strong></a> </p> </div> <div class="notice-content"> <p style="color:#ffffff;margin:0;"> <?php printf( __( 'Get %s on %s!', 'ti-woocommerce-wishlist' ), '<strong>30% OFF</strong>', TINVWL_NAME . ' Premium' ); ?> <br> <?php printf( '<span style="color: #000000;font-weight: 700;">%s</span> ', __( 'Use code:', 'ti-woocommerce-wishlist' ) ); ?> <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?apply_coupon=WINTER30" target="_blank" data-link="follow" style="color:#ffffff;padding:3px 15px;display: inline-block;background-color: #ff6341;text-decoration: none;text-transform: uppercase;font-weight: 700;">WINTER30</a> </p> </div> </div> </div> <?php } }