Current Path : /storage/v11800/wthtest1/public_html/wp-content/plugins/wp-mail-smtp/src/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/wthtest1/public_html/wp-content/plugins/wp-mail-smtp/src/OptimizedEmailSending.php |
<?php
namespace WPMailSMTP;
/**
* OptimizedEmailSending class.
*
* @since 4.0.0
*/
class OptimizedEmailSending {
/**
* The slug of the option that toggles optimized email sending.
*
* @since 4.0.0
*/
const SETTINGS_SLUG = 'optimize_email_sending_enabled';
/**
* Register hooks.
*
* @since 4.0.0
*/
public function hooks() {
// Avoid enqueueing emails if current request
// is a cron request, a CLI request,
// or an ActionScheduler task as 3rd party plugins might
// be carrying out their own sending optimizations
// through it.
if (
self::is_enabled() &&
! ( defined( 'WP_CLI' ) && WP_CLI ) &&
! wp_doing_cron() &&
! doing_action( 'action_scheduler_run_queue' )
) {
// Enable the queue.
add_filter( 'wp_mail_smtp_queue_is_enabled', '__return_true' );
// Start enqueueing emails.
add_filter( 'wp_mail_smtp_mail_catcher_send_enqueue_email', '__return_true' );
}
}
/**
* Whether optimized email sending is enabled.
*
* @since 4.0.0
*
* @return bool
*/
public static function is_enabled() {
$value = Options::init()->get( 'general', self::SETTINGS_SLUG );
return (bool) $value;
}
}