helper
3 years ago
importers
3 years ago
list-tables
3 years ago
marketplace-suggestions
3 years ago
meta-boxes
3 years ago
notes
3 years ago
plugin-updates
5 years ago
reports
3 years ago
settings
3 years ago
views
3 years ago
class-wc-admin-addons.php
3 years ago
class-wc-admin-api-keys-table-list.php
6 years ago
class-wc-admin-api-keys.php
6 years ago
class-wc-admin-assets.php
3 years ago
class-wc-admin-attributes.php
3 years ago
class-wc-admin-customize.php
5 years ago
class-wc-admin-dashboard-setup.php
3 years ago
class-wc-admin-dashboard.php
3 years ago
class-wc-admin-duplicate-product.php
5 years ago
class-wc-admin-exporters.php
3 years ago
class-wc-admin-help.php
4 years ago
class-wc-admin-importers.php
5 years ago
class-wc-admin-log-table-list.php
5 years ago
class-wc-admin-menus.php
3 years ago
class-wc-admin-meta-boxes.php
3 years ago
class-wc-admin-notices.php
3 years ago
class-wc-admin-permalink-settings.php
5 years ago
class-wc-admin-pointers.php
3 years ago
class-wc-admin-post-types.php
3 years ago
class-wc-admin-profile.php
4 years ago
class-wc-admin-reports.php
5 years ago
class-wc-admin-settings.php
3 years ago
class-wc-admin-setup-wizard.php
4 years ago
class-wc-admin-status.php
3 years ago
class-wc-admin-taxonomies.php
3 years ago
class-wc-admin-webhooks-table-list.php
4 years ago
class-wc-admin-webhooks.php
3 years ago
class-wc-admin.php
4 years ago
wc-admin-functions.php
3 years ago
wc-meta-box-functions.php
3 years ago
class-wc-admin-pointers.php
84 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Adds and controls pointers for contextual help/tutorials |
| 4 | * |
| 5 | * @package WooCommerce\Admin\Pointers |
| 6 | * @version 2.4.0 |
| 7 | */ |
| 8 | |
| 9 | use Automattic\WooCommerce\Internal\Admin\WCAdminAssets; |
| 10 | use Automattic\WooCommerce\Admin\Features\Features; |
| 11 | |
| 12 | if ( ! defined( 'ABSPATH' ) ) { |
| 13 | exit; |
| 14 | } |
| 15 | |
| 16 | /** |
| 17 | * WC_Admin_Pointers Class. |
| 18 | */ |
| 19 | class WC_Admin_Pointers { |
| 20 | |
| 21 | /** |
| 22 | * Constructor. |
| 23 | */ |
| 24 | public function __construct() { |
| 25 | add_action( 'admin_enqueue_scripts', array( $this, 'setup_pointers_for_screen' ) ); |
| 26 | } |
| 27 | |
| 28 | /** |
| 29 | * Setup pointers for screen. |
| 30 | */ |
| 31 | public function setup_pointers_for_screen() { |
| 32 | $screen = get_current_screen(); |
| 33 | |
| 34 | if ( ! $screen ) { |
| 35 | return; |
| 36 | } |
| 37 | |
| 38 | switch ( $screen->id ) { |
| 39 | case 'product': |
| 40 | $this->create_product_tutorial(); |
| 41 | break; |
| 42 | case 'woocommerce_page_wc-addons': |
| 43 | $this->create_wc_addons_tutorial(); |
| 44 | break; |
| 45 | } |
| 46 | } |
| 47 | |
| 48 | /** |
| 49 | * Pointers for creating a product. |
| 50 | */ |
| 51 | public function create_product_tutorial() { |
| 52 | if ( ! isset( $_GET['tutorial'] ) || ! current_user_can( 'manage_options' ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
| 53 | return; |
| 54 | } |
| 55 | |
| 56 | global $wp_post_types; |
| 57 | |
| 58 | if ( ! isset( $wp_post_types ) ) { |
| 59 | return; |
| 60 | } |
| 61 | |
| 62 | $labels = $wp_post_types['product']->labels; |
| 63 | $labels->add_new = __( 'Enable guided mode', 'woocommerce' ); |
| 64 | WCAdminAssets::register_script( 'wp-admin-scripts', 'product-tour', true ); |
| 65 | } |
| 66 | |
| 67 | /** |
| 68 | * Pointers for accessing In-App Marketplace. |
| 69 | */ |
| 70 | public function create_wc_addons_tutorial() { |
| 71 | if ( ! isset( $_GET['tutorial'] ) || ! current_user_can( 'manage_options' ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended |
| 72 | return; |
| 73 | } |
| 74 | |
| 75 | if ( wp_is_mobile() ) { |
| 76 | return; // Permit In-App Marketplace Tour on desktops only. |
| 77 | } |
| 78 | |
| 79 | WCAdminAssets::register_script( 'wp-admin-scripts', 'wc-addons-tour', true ); |
| 80 | } |
| 81 | } |
| 82 | |
| 83 | new WC_Admin_Pointers(); |
| 84 |