Make WordPress Core

Changeset 57283


Ignore:
Timestamp:
01/14/2024 10:59:48 AM (3 years ago)
Author:
audrasjb
Message:

Administration: Introduce new_admin_email_subject filter.

This changeset introduces the new_admin_email_subject hook which allow developers to filter the subject of the email sent when a change of site admin email address is attempted.

Props MadtownLems, johnbillion, alexanderkoledov, shooper, Marc_J, nikmeyer, xlthlx, devmuhib, nuhel, audrasjb.
Fixes #59250.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/misc.php

    r56654 r57283  
    15321532        }
    15331533
    1534         wp_mail(
    1535                 $value,
    1536                 sprintf(
    1537                         /* translators: New admin email address notification email subject. %s: Site title. */
    1538                         __( '[%s] New Admin Email Address' ),
    1539                         $site_title
    1540                 ),
    1541                 $content
     1534        $subject = sprintf(
     1535                /* translators: New admin email address notification email subject. %s: Site title. */
     1536                __( '[%s] New Admin Email Address' ),
     1537                $site_title
    15421538        );
     1539
     1540        /**
     1541         * Filters the subject of the email sent when a change of site admin email address is attempted.
     1542         *
     1543         * @since 6.5.0
     1544         *
     1545         * @param string $subject Subject of the email.
     1546         */
     1547        $subject = apply_filters( 'new_admin_email_subject', $subject );
     1548
     1549        wp_mail( $value, $subject, $content );
    15431550
    15441551        if ( $switched_locale ) {
  • trunk/tests/phpunit/tests/admin/includesMisc.php

    r51994 r57283  
    2828                }
    2929        }
     30
     31        /**
     32         * @ticket 59520
     33         */
     34        public function test_new_admin_email_subject_filter() {
     35                // Default value
     36                $mailer = tests_retrieve_phpmailer_instance();
     37                update_option_new_admin_email( 'old@example.com', 'new@example.com' );
     38                $this->assertEquals( '[Test Blog] New Admin Email Address', $mailer->get_sent()->subject );
     39
     40                // Filtered value
     41                add_filter(
     42                        'new_admin_email_subject',
     43                        function () {
     44                                return 'Filtered Admin Email Address';
     45                        },
     46                        10,
     47                        1
     48                );
     49
     50                $mailer->mock_sent = array();
     51
     52                $mailer = tests_retrieve_phpmailer_instance();
     53                update_option_new_admin_email( 'old@example.com', 'new@example.com' );
     54                $this->assertEquals( 'Filtered Admin Email Address', $mailer->get_sent()->subject );
     55        }
    3056}
Note: See TracChangeset for help on using the changeset viewer.