From 5264523d879926531c59fd53a7337616199eb358 Mon Sep 17 00:00:00 2001 From: Fernando Date: Thu, 26 Mar 2020 17:07:54 -0300 Subject: [PATCH] "Personalize your store" reminder: new inbox notification (https://github.com/woocommerce/woocommerce-admin/pull/3895) * Added note to Personalize Store Added note to Personalize Store, 5 days after registration or when the user completes the task list. * Lint repeared Lint error repeared. * Moved homepage_id < 0 check to OnboardingTasks.php Co-authored-by: Fernando Marichal --- .../src/API/OnboardingTasks.php | 2 +- plugins/woocommerce-admin/src/Events.php | 2 + .../WC_Admin_Notes_Personalize_Store.php | 70 +++++++++++++++++++ 3 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 plugins/woocommerce-admin/src/Notes/WC_Admin_Notes_Personalize_Store.php diff --git a/plugins/woocommerce-admin/src/API/OnboardingTasks.php b/plugins/woocommerce-admin/src/API/OnboardingTasks.php index 0aa0a9aefc0..6958fc7e7db 100644 --- a/plugins/woocommerce-admin/src/API/OnboardingTasks.php +++ b/plugins/woocommerce-admin/src/API/OnboardingTasks.php @@ -413,7 +413,7 @@ class OnboardingTasks extends \WC_REST_Data_Controller { ) ); - if ( ! is_wp_error( $post_id ) ) { + if ( ! is_wp_error( $post_id ) && 0 < $post_id ) { $template = self::get_homepage_template( $post_id ); wp_update_post( diff --git a/plugins/woocommerce-admin/src/Events.php b/plugins/woocommerce-admin/src/Events.php index 6b74f488993..62a0a31fc0a 100644 --- a/plugins/woocommerce-admin/src/Events.php +++ b/plugins/woocommerce-admin/src/Events.php @@ -16,6 +16,7 @@ use \Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes_Mobile_App; use \Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes_New_Sales_Record; use \Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes_Tracking_Opt_In; use \Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes_Onboarding_Email_Marketing; +use \Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes_Personalize_Store; /** * WC_Admin_Events Class. @@ -66,5 +67,6 @@ class Events { WC_Admin_Notes_Facebook_Extension::possibly_add_facebook_note(); WC_Admin_Notes_Tracking_Opt_In::possibly_add_tracking_opt_in_note(); WC_Admin_Notes_Onboarding_Email_Marketing::possibly_add_onboarding_email_marketing_note(); + WC_Admin_Notes_Personalize_Store::possibly_add_personalize_store_note(); } } diff --git a/plugins/woocommerce-admin/src/Notes/WC_Admin_Notes_Personalize_Store.php b/plugins/woocommerce-admin/src/Notes/WC_Admin_Notes_Personalize_Store.php new file mode 100644 index 00000000000..770e9cf8eeb --- /dev/null +++ b/plugins/woocommerce-admin/src/Notes/WC_Admin_Notes_Personalize_Store.php @@ -0,0 +1,70 @@ +get_notes_with_name( self::NOTE_NAME ); + if ( ! empty( $note_ids ) ) { + return; + } + + $content = __( 'The homepage is one of the most important entry points in your store. When done right it can lead to higher conversions and engagement. Don\'t forget to personalize the homepage that we created for your store during the onboarding.', 'woocommerce-admin' ); + + $note = new WC_Admin_Note(); + $note->set_title( __( 'Personalize your store\'s homepage', 'woocommerce-admin' ) ); + $note->set_content( $content ); + $note->set_content_data( (object) array() ); + $note->set_type( WC_Admin_Note::E_WC_ADMIN_NOTE_INFORMATIONAL ); + $note->set_icon( 'notice' ); + $note->set_name( self::NOTE_NAME ); + $note->set_source( 'woocommerce-admin' ); + $note->add_action( 'personalize-homepage', __( 'Personalize homepage', 'woocommerce-admin' ), admin_url( 'post.php?post=' . $homepage_id . '&action=edit' ), WC_Admin_Note::E_WC_ADMIN_NOTE_ACTIONED, true ); + + $note->save(); + } +}