New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Humanize emails #21288

Merged
merged 22 commits into from Sep 12, 2018

Conversation

Projects
None yet
5 participants
@kloon
Member

kloon commented Sep 6, 2018

All Submissions:

Changes proposed in this Pull Request:

This PR updates the copy of all the emails to make it more human and inviting to store admins and customers.

Closes #21233

How to test the changes in this Pull Request:

  1. Test all emails using HTML and plain text modes and ensure everything looks good and there are no grammer errors.
  2. Admin emails to test: new order, cancelled order, failed order
  3. Customer emails to test: on-hold, processing, completed, refunded both full and partially, invoice both with a pending and non-pending status, customer notes, password reset, new account.

Other information:

  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your changes, as applicable?
  • Have you successfully ran tests with your changes locally?

Changelog entry

Enhancement - Improve the default copy of all store emails.

@kloon kloon added this to the 3.5.0 milestone Sep 6, 2018

@@ -90,13 +90,12 @@ public function get_default_subject() {
* @return string
*/
public function get_default_heading() {
return __( 'Your order is complete', 'woocommerce' );
return __( 'Thanks for shipping with us', 'woocommerce' );

This comment has been minimized.

@willgorham

willgorham Sep 6, 2018

Contributor

'Shipping' -> 'Shopping'?

@codecov

This comment has been minimized.

codecov bot commented Sep 7, 2018

Codecov Report

Merging #21288 into master will increase coverage by 1.22%.
The diff coverage is 81.82%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master   #21288      +/-   ##
============================================
+ Coverage     38.51%   39.73%   +1.22%     
- Complexity    13331    13866     +535     
============================================
  Files           349      370      +21     
  Lines         50361    52823    +2462     
============================================
+ Hits          19395    20987    +1592     
- Misses        30966    31836     +870
Impacted Files Coverage Δ Complexity Δ
includes/emails/class-wc-email-customer-note.php 38.46% <ø> (ø) 11 <0> (ø) ⬇️
...s/emails/class-wc-email-customer-on-hold-order.php 45.65% <100%> (ø) 11 <0> (ø) ⬇️
...ncludes/emails/class-wc-email-customer-invoice.php 58.89% <100%> (ø) 17 <0> (ø) ⬇️
includes/emails/class-wc-email-new-order.php 68.83% <100%> (ø) 12 <0> (ø) ⬇️
...des/emails/class-wc-email-customer-new-account.php 78.26% <100%> (ø) 9 <0> (ø) ⬇️
.../emails/class-wc-email-customer-reset-password.php 34.04% <100%> (ø) 10 <0> (ø) ⬇️
...mails/class-wc-email-customer-processing-order.php 46.81% <100%> (ø) 11 <0> (ø) ⬇️
...emails/class-wc-email-customer-completed-order.php 63.24% <100%> (ø) 12 <0> (ø) ⬇️
.../emails/class-wc-email-customer-refunded-order.php 55.77% <100%> (ø) 20 <0> (ø) ⬇️
includes/emails/class-wc-email-failed-order.php 67.12% <100%> (ø) 12 <0> (ø) ⬇️
... and 76 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b7cc307...5f7b833. Read the comment docs.

@kloon

This comment has been minimized.

Member

kloon commented Sep 7, 2018

Screenshots of the different emails using all the defaults cc @warrendholmes @MarinaWoo

Admin New Order - http://cld.wthms.co/XetMop
Admin Failed Order - http://cld.wthms.co/kKMV5A

Order On-Hold - http://cld.wthms.co/KVA8zZ
Processing Order - http://cld.wthms.co/X6qAtZ
Completed Order - http://cld.wthms.co/v51is2
Refunded Order - Partial http://cld.wthms.co/XIjN2T - Full http://cld.wthms.co/hwLnEF
Customer Invoice - Paid http://cld.wthms.co/sai6BU - Unpaid http://cld.wthms.co/XTCF5B
Customer Note - http://cld.wthms.co/wGxnWu
Reset Password - http://cld.wthms.co/0qDoeH
New Account - http://cld.wthms.co/0ZMtz1

@MarinaWoo

This comment has been minimized.

MarinaWoo commented Sep 7, 2018

Thanks for this @kloon - will review on Monday.

@claudiulodro

Overall these phrasing changes look good, and I don't notice any code issues. Just a couple questions/feedback around some of them. We can address them after beta is tagged if time does not permit this week.

'desc' => __( 'The text to appear in the footer of WooCommerce emails.', 'woocommerce' ) . ' ' . sprintf( __( 'Available placeholders: %s', 'woocommerce' ), '{site_title}' ),
'id' => 'woocommerce_email_footer_text',
'css' => 'width:300px; height: 75px;',
'placeholder' => __( 'N/A', 'woocommerce' ),
'type' => 'textarea',
'default' => '{site_title}',
'default' => '{site_title}<br/>Powered by <a href="https://woocommerce.com/">WooCommerce</a>',

This comment has been minimized.

@claudiulodro

claudiulodro Sep 10, 2018

Contributor

I don't think we should add this back in, as we recently removed it . . .

@@ -79,7 +79,7 @@ public function __construct() {
* @return string
*/
public function get_default_subject() {
return __( 'Password reset for {site_title}', 'woocommerce' );
return __( 'Password Reset Request for {site_title}', 'woocommerce' );

This comment has been minimized.

@claudiulodro

claudiulodro Sep 10, 2018

Contributor

Why is Reset Request capitalized throughout this file?

This comment has been minimized.

@kloon

kloon Sep 12, 2018

Member

I believe this is because it describes the action.

@@ -70,7 +70,7 @@ public function get_default_subject() {
* @return string
*/
public function get_default_heading() {
return __( 'New customer order', 'woocommerce' );
return __( 'New Order: {order_number}', 'woocommerce' );

This comment has been minimized.

@claudiulodro

claudiulodro Sep 10, 2018

Contributor

Lowercase Order

<?php /* translators: %s: Customer first name */ ?>
<p><?php printf( __( 'Hi %s,', 'woocommerce' ), $order->get_billing_first_name() ); ?></p><?php // phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped ?>
<?php /* translators: %s: Site title */ ?>
<p><?php printf( __( 'Your %s order has been marked complete on our side. We hope you enjoy it!', 'woocommerce' ), wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ) ); ?></p><?php // phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped ?>

This comment has been minimized.

@claudiulodro

claudiulodro Sep 10, 2018

Contributor

The 'We hope you enjoy it!' message may be a bit tone deaf on certain types of products. I could see that making for some awkward emails . . .

@@ -56,7 +56,7 @@ public function __construct() {
* @return string
*/
public function get_default_subject() {
return __( 'Your {site_title} order receipt from {order_date}', 'woocommerce' );
return __( 'Your {site_title} order is now complete', 'woocommerce' );

This comment has been minimized.

@claudiulodro

claudiulodro Sep 10, 2018

Contributor

Noticed this in my testing. The order is 'processing' status not 'complete' status at this point.

@kloon

This comment has been minimized.

Member

kloon commented Sep 11, 2018

@claudiulodro I will defer the questions to @MarinaWoo & @warrendholmes as they did the proposal, I implemented the changes as per the proposal using the same capitalisation and grammar as specified.

@MarinaWoo

This comment has been minimized.

MarinaWoo commented Sep 11, 2018

I'm reviewing. Tricky as the brief was to 'humanize' but actually, they need to be quite plain.

Noted on that point @claudiulodro!

Will submit a final batch of suggestions by end of day.

@MarinaWoo

This comment has been minimized.

MarinaWoo commented Sep 11, 2018

Thanks again for creating the preview, @kloon. Reflected a bit on @claudiulodro 's comment about tone and have removed some bits to make sure there is nothing jarring.

Please can you apply the following changes, then generate another batch of previews for me to do a final proof-read (and run by a second pair of eyes):

Admin New Order - http://cld.wthms.co/XetMop

  • Change the subject line to: '[wc]: New order 3505'
  • Colon missing at the end of the first line: 'You've received the following order from Joe Shops:'
  • In the final line, delete 'Woo!' so it just reads: 'Over to you.'

Admin Failed Order - http://cld.wthms.co/kKMV5A

  • Change the subject line to: '[wc]: Order 3505 has failed'
  • In the first line, delete 'Oh dear!'.

Admin Cancelled order - missing screenshot

  • Change the subject line to: '[wc]: Micheal Bluth has cancelled order 873' (so it matches the formate of the other admin emails with the store name in []'s)
  • Change the final line to: 'Thanks for reading.'

Processing Order - http://cld.wthms.co/X6qAtZ

Checking: my understanding is that this triggers once payment has been received? If so:

  • Change the subject line to: 'Payment received for your order'
  • Change email heading to: 'Thank you for your payment'
  • Change 'Woo!' in the sign off to 'Thanks!'

Complete Order

  • Remove We hope you enjoy it!

Customer Invoice - Paid http://cld.wthms.co/sai6BU

  • Replace: 'Have a great day.' with 'Thanks for reading.'

Customer Invoice - Unpaid http://cld.wthms.co/XTCF5B

  • Replace: 'Have a great day.' with 'Thanks for reading.'

Customer Note - http://cld.wthms.co/wGxnWu

  • Replace: 'Have a great day.' with 'Thanks for reading.'

Reset Password - http://cld.wthms.co/0qDoeH

  • Change the first line to: 'Someone has requested a new password for the following account on wc:'
  • Change the second line to: 'If you didn't make this request, just ignore this email. If you'd like to proceed:'
  • Replace: 'Good luck!' with 'Thanks for reading.'

One final thing: unsure about where there should be #'s in front of order number if the table if we don't add it to the subject lines etc? Probably should be consistent there, but I don't have strong feelings either way.

@kloon

This comment has been minimized.

Member

kloon commented Sep 12, 2018

Screenshot after implementing the latest updates as requested:

Admin New Order - http://cld.wthms.co/XxlCAt Ignore the SPAM in the subject
Admin Failed Order - http://cld.wthms.co/JyXUNT Ignore the SPAM in the subject
Admin Cancelled Order - http://cld.wthms.co/4HnLp9 Ignore the SPAM in the subject

Order On-Hold - http://cld.wthms.co/TLsSjO
Processing Order - http://cld.wthms.co/wu28tm
Completed Order - http://cld.wthms.co/Ae5TCg
Refunded Order - Partial http://cld.wthms.co/JdoaqZ - Full http://cld.wthms.co/RqWwYo (The # is next to the order number, I added it just after these screenshot)
Customer Invoice - Paid http://cld.wthms.co/ItXOVs - Unpaid http://cld.wthms.co/A0xrVU
Customer Note - http://cld.wthms.co/3VKqPi
Reset Password - http://cld.wthms.co/wlzVfX
New Account - http://cld.wthms.co/5bd4BX

@claudiulodro

This comment has been minimized.

Contributor

claudiulodro commented Sep 12, 2018

Latest changes look good. Merging this so it can be included in beta. If we need to make further changes let's do that as a new PR.

@claudiulodro claudiulodro merged commit 07351d5 into master Sep 12, 2018

2 checks passed

codecov/project 39.73% (+1.22%) compared to b7cc307
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment