📁 File Manager Pro
v10.0.3 | PHP: 8.2.31
Server: LiteSpeed
2026-07-03 13:01:10
📂
/ (Root)
/
home
/
orkouolp
/
web
/
orkofarms.com
/
wp-content
/
plugins
/
wp-mail-smtp
/
src
/
Admin
/
Pages
📍 /home/orkouolp/web/orkofarms.com/wp-content/plugins/wp-mail-smtp/src/Admin/Pages
🔄 Refresh
✏️
Editing: GetProTab.php
Writable
<?php namespace WPMailSMTP\Admin\Pages; use WPMailSMTP\Admin\PageAbstract; /** * Get Pro tab — a product-education page shown to Lite users only. * * @since 4.9.0 */ class GetProTab extends PageAbstract { /** * Part of the slug of a tab. * * @since 4.9.0 * * @var string */ protected $slug = 'get-pro'; /** * Tab priority. * * @since 4.9.0 * * @var int */ protected $priority = 100; /** * Link label of a tab. * * @since 4.9.0 * * @return string */ public function get_label() { return esc_html__( 'Get Pro', 'wp-mail-smtp' ); } /** * Title of a tab. * * @since 4.9.0 * * @return string */ public function get_title() { return $this->get_label(); } /** * Tab content. * * @since 4.9.0 */ public function display() { ?> <div class="wpms-get-pro-tab wpms:max-w-[1200px] wpms:mx-auto wpms:mt-[30px] wpms:bg-white wpms:rounded-[4px] wpms:border wpms:border-[#dadadf] wpms:shadow-soft"> <?php $this->display_hero(); ?> <?php $this->display_features(); ?> <?php $this->display_comparison(); ?> </div> <?php } /** * Hero: headline, supporting copy, primary CTA and the comparison anchor link. * * @since 4.9.0 */ private function display_hero() { ?> <div class="wpms:flex wpms:flex-wrap wpms:items-center wpms:justify-between wpms:gap-[40px] wpms:px-[40px] wpms:py-[40px]"> <div class="wpms:flex wpms:flex-col wpms:gap-[20px] wpms:basis-[554px] wpms:grow-0 wpms:min-w-[300px]"> <h1> <?php esc_html_e( 'Take complete control of your WordPress emails', 'wp-mail-smtp' ); ?> </h1> <p> <?php esc_html_e( 'Get email logs, delivery tracking, backup connections, and instant failure alerts so you catch issues before your customers do.', 'wp-mail-smtp' ); ?> </p> <div class="wpms:flex wpms:flex-col wpms:gap-[20px]"> <div class="wpms:flex wpms:flex-col wpms:gap-[10px] wpms:items-start"> <?php $this->display_upgrade_button( 'Hero' ); ?> <?php $this->display_discount_badge(); ?> </div> <a href="#wp-mail-smtp-get-pro-comparison" class="wpms:text-[13px] wpms:text-link! wpms:underline"> <?php esc_html_e( 'Compare Lite vs Pro features', 'wp-mail-smtp' ); ?> </a> </div> </div> <div class="wpms:shrink-0"> <img src="<?php echo esc_url( wp_mail_smtp()->assets_url . '/images/education/get-pro-tab/hero.svg' ); ?>" alt="" width="400" height="214" class="wpms:w-[400px] wpms:max-w-full wpms:h-auto" > </div> </div> <?php } /** * Feature grid: six product highlights on a pale section, closed by a CTA. * * @since 4.9.0 */ private function display_features() { ?> <div class="wpms:bg-[#fcf9e8] wpms:rounded-[4px] wpms:px-[40px] wpms:py-[40px]"> <div class="wpms:flex wpms:flex-col wpms:gap-[30px]"> <h2 class="wpms:text-center"> <?php esc_html_e( 'Features you\'ll love with Pro', 'wp-mail-smtp' ); ?> </h2> <div class="wpms:grid wpms:grid-cols-3 wpms:gap-x-[20px] wpms:gap-y-[30px] wpms:max-tablet:grid-cols-1"> <?php foreach ( $this->get_feature_cards() as $card ) : ?> <div class="wpms:flex wpms:flex-col wpms:gap-[20px] wpms:bg-white wpms:rounded-[8px] wpms:border wpms:border-[#dcdcde] wpms:shadow-subtle wpms:overflow-hidden"> <img src="<?php echo esc_url( wp_mail_smtp()->assets_url . '/images/education/get-pro-tab/' . $card['image'] . '.svg' ); ?>" alt="" class="wpms:w-full wpms:h-auto" > <div class="wpms:flex wpms:flex-col wpms:gap-[8px] wpms:px-[36px] wpms:pb-[32px]"> <h3> <?php echo esc_html( $card['title'] ); ?> </h3> <p class="wpms:text-[14px]!"> <?php echo esc_html( $card['description'] ); ?> </p> </div> </div> <?php endforeach; ?> </div> <div class="wpms:flex wpms:flex-col wpms:gap-[8px] wpms:items-center"> <?php $this->display_upgrade_button( 'Features Grid' ); ?> <?php $this->display_discount_badge(); ?> </div> </div> </div> <?php } /** * Lite vs Pro comparison: heading, twelve-row table and the closing CTA. * * @since 4.9.0 */ private function display_comparison() { ?> <div class="wpms:px-[40px] wpms:py-[40px]"> <div class="wpms:flex wpms:flex-col wpms:gap-[30px] wpms:items-center"> <div class="wpms:flex wpms:flex-col wpms:gap-[20px] wpms:items-center wpms:text-center"> <h2> <?php esc_html_e( 'Lite vs Pro: What\'s the Difference?', 'wp-mail-smtp' ); ?> </h2> <p class="wpms:max-w-[467px]"> <?php esc_html_e( 'Get the most out of WP Mail SMTP by upgrading to Pro and unlocking all of the powerful features.', 'wp-mail-smtp' ); ?> </p> </div> <div id="wp-mail-smtp-get-pro-comparison" class="wpms:w-full wpms:overflow-x-auto"> <div class="wpms:min-w-[1010px] wpms:rounded-[8px] wpms:border wpms:border-[#dcdcde] wpms:overflow-hidden"> <?php $this->display_comparison_header(); ?> <?php foreach ( $this->get_comparison_rows() as $row ) : ?> <?php $this->display_comparison_row( $row ); ?> <?php endforeach; ?> </div> </div> <div class="wpms:flex wpms:flex-col wpms:gap-[8px] wpms:items-center"> <?php $this->display_upgrade_button( 'Bottom' ); ?> <?php $this->display_discount_badge(); ?> </div> </div> </div> <?php } /** * Comparison table header row. * * @since 4.9.0 */ private function display_comparison_header() { $cell = 'wpms:flex wpms:items-start wpms:p-[20px] wpms:bg-[#f3f4f6] wpms:border-b wpms:border-l wpms:border-[#f3f4f6]'; $label = 'wpms:m-0! wpms:text-[20px]! wpms:font-bold! wpms:leading-[28px]! wpms:tracking-[0.25px] wpms:text-gray-900!'; ?> <div class="wpms:flex wpms:items-stretch"> <div class="<?php echo esc_attr( $cell ); ?> wpms:w-[310px] wpms:shrink-0"> <p class="<?php echo esc_attr( $label ); ?>"><?php esc_html_e( 'Feature', 'wp-mail-smtp' ); ?></p> </div> <div class="<?php echo esc_attr( $cell ); ?> wpms:w-[400px] wpms:shrink-0"> <p class="<?php echo esc_attr( $label ); ?>"><?php esc_html_e( 'Lite', 'wp-mail-smtp' ); ?></p> </div> <div class="<?php echo esc_attr( $cell ); ?> wpms:border-r wpms:flex-1 wpms:min-w-[300px]"> <p class="<?php echo esc_attr( $label ); ?>"><?php esc_html_e( 'Pro', 'wp-mail-smtp' ); ?></p> </div> </div> <?php } /** * A single comparison table row (feature label + Lite cell + Pro cell). * * @since 4.9.0 * * @param array $row Row data: feature label plus `lite` and `pro` cell arrays. */ private function display_comparison_row( $row ) { $cell = 'wpms:flex wpms:items-start wpms:p-[20px] wpms:bg-white wpms:border-b wpms:border-l wpms:border-[#f3f4f6]'; ?> <div class="wpms:flex wpms:items-stretch"> <div class="<?php echo esc_attr( $cell ); ?> wpms:w-[310px] wpms:shrink-0"> <p class="wpms:m-0! wpms:text-[16px]! wpms:font-medium! wpms:leading-[24px]! wpms:tracking-[0.25px] wpms:text-gray-700"> <?php echo esc_html( $row['feature'] ); ?> </p> </div> <div class="<?php echo esc_attr( $cell ); ?> wpms:w-[400px] wpms:shrink-0"> <?php $this->display_comparison_cell( $row['lite'] ); ?> </div> <div class="<?php echo esc_attr( $cell ); ?> wpms:border-r wpms:flex-1 wpms:min-w-[300px]"> <?php $this->display_comparison_cell( $row['pro'] ); ?> </div> </div> <?php } /** * Inner content of a comparison cell: a status icon plus its copy. The * lead sentence is emphasized; any follow-up detail renders below it. * * @since 4.9.0 * * @param array $cell Cell data: `status`, `lead` and optional `rest`. */ private function display_comparison_cell( $cell ) { ?> <div class="wpms:flex wpms:gap-[8px] wpms:items-start"> <?php $this->display_status_icon( $cell['status'] ); ?> <p class="wpms:m-0! wpms:text-[16px]! wpms:leading-[24px]! wpms:tracking-[0.25px] wpms:text-gray-700"> <strong class="wpms:font-bold!"><?php echo esc_html( $cell['lead'] ); ?></strong><?php if ( ! empty( $cell['rest'] ) ) : ?><br><?php echo esc_html( $cell['rest'] ); ?><?php endif; ?> </p> </div> <?php } /** * Render a comparison status icon for the given availability state. * * @since 4.9.0 * * @param string $status One of `full`, `partial`, `none`. */ private function display_status_icon( $status ) { $icons = [ 'full' => [ 'file' => 'status-full', 'label' => esc_attr__( 'Available', 'wp-mail-smtp' ) ], 'partial' => [ 'file' => 'status-partial', 'label' => esc_attr__( 'Partially available', 'wp-mail-smtp' ) ], 'none' => [ 'file' => 'status-none', 'label' => esc_attr__( 'Not available', 'wp-mail-smtp' ) ], ]; if ( ! isset( $icons[ $status ] ) ) { return; } $icon = $icons[ $status ]; ?> <img src="<?php echo esc_url( wp_mail_smtp()->assets_url . '/images/education/get-pro-tab/' . $icon['file'] . '.svg' ); ?>" alt="<?php echo esc_attr( $icon['label'] ); ?>" width="24" height="24" class="wpms:w-[24px] wpms:h-[24px] wpms:shrink-0" > <?php } /** * Primary "Upgrade to Pro" button, carrying the Lite upgrade discount. * * @since 4.9.0 * * @param string $content UTM content tag identifying the button placement. */ private function display_upgrade_button( $content ) { $url = add_query_arg( 'discount', 'SMTPLITEUPGRADE', // phpcs:ignore WordPress.Arrays.ArrayDeclarationSpacing.AssociativeArrayFound wp_mail_smtp()->get_upgrade_link( [ 'medium' => 'get-pro-tab', 'content' => $content ] ) ); ?> <a href="<?php echo esc_url( $url ); ?>" target="_blank" rel="noopener noreferrer" class="wp-mail-smtp-btn wp-mail-smtp-btn-cta-large wp-mail-smtp-btn-orange wpms:w-[300px] wpms:rounded-[4px]" > <?php esc_html_e( 'Upgrade to Pro', 'wp-mail-smtp' ); ?> </a> <?php } /** * Discount badge accompanying every upgrade button. * * @since 4.9.0 */ private function display_discount_badge() { ?> <div class="wpms:flex wpms:items-center wpms:gap-[5px]"> <span aria-hidden="true" class="wpms:icon-[custom--badge-percent] wpms:text-success wpms:w-[16px] wpms:h-[16px] wpms:shrink-0"></span> <span class="wpms:text-[14px]! wpms:leading-[20px]!"> <span class="wpms:font-semibold wpms:text-success"><?php esc_html_e( '$50 OFF', 'wp-mail-smtp' ); ?></span> <span class="wpms:text-tertiary"><?php esc_html_e( 'for WP Mail SMTP Lite users', 'wp-mail-smtp' ); ?></span> </span> </div> <?php } /** * The six feature cards shown above the comparison table. * * @since 4.9.0 * * @return array */ private function get_feature_cards() { return [ [ 'image' => 'card-email-logs', 'title' => esc_html__( 'Email Logs', 'wp-mail-smtp' ), 'description' => esc_html__( 'Save details about every email sent from your WordPress site.', 'wp-mail-smtp' ), ], [ 'image' => 'card-email-failure-alerts', 'title' => esc_html__( 'Email Failure Alerts', 'wp-mail-smtp' ), 'description' => esc_html__( 'Receive immediate alerts for email failures to quickly address issues.', 'wp-mail-smtp' ), ], [ 'image' => 'card-backup-connections', 'title' => esc_html__( 'Backup Connections', 'wp-mail-smtp' ), 'description' => esc_html__( 'Set up a secondary email provider in case your primary provider fails.', 'wp-mail-smtp' ), ], [ 'image' => 'card-one-click-mailer-setups', 'title' => esc_html__( 'One-Click Mailer Setups', 'wp-mail-smtp' ), 'description' => esc_html__( 'An easy and secure way to configure your Gmail and Outlook mailers.', 'wp-mail-smtp' ), ], [ 'image' => 'card-smart-routing', 'title' => esc_html__( 'Smart Routing', 'wp-mail-smtp' ), 'description' => esc_html__( 'Use conditional logic to send emails through different providers.', 'wp-mail-smtp' ), ], [ 'image' => 'card-advanced-mailers', 'title' => esc_html__( 'Advanced mailers', 'wp-mail-smtp' ), 'description' => esc_html__( 'Connect with top providers like Amazon SES, Microsoft 365 / Outlook, and Zoho Mail.', 'wp-mail-smtp' ), ], ]; } /** * Twelve-row Lite vs Pro feature comparison. * * @since 4.9.0 * * @return array */ private function get_comparison_rows() { $not_available = [ 'status' => 'none', 'lead' => esc_html__( 'Not available', 'wp-mail-smtp' ), 'rest' => '', ]; return [ [ 'feature' => esc_html__( 'Improved Email Deliverability', 'wp-mail-smtp' ), 'lite' => [ 'status' => 'partial', 'lead' => esc_html__( 'Connect your WordPress site to any of the following SMTP providers:', 'wp-mail-smtp' ), 'rest' => esc_html__( 'SendLayer, SMTP.com, Brevo, Google Workspace / Gmail, Mailgun, Postmark, SendGrid, SMTP2GO, Sparkpost, and any other SMTP provider using your SMTP credentials.', 'wp-mail-smtp' ), ], 'pro' => [ 'status' => 'full', 'lead' => esc_html__( 'Connect your WordPress site to any of our Lite SMTP providers, as well as:', 'wp-mail-smtp' ), 'rest' => esc_html__( 'Amazon SES, Microsoft 365 / Outlook, and Zoho Mail.', 'wp-mail-smtp' ), ], ], [ 'feature' => esc_html__( 'Weekly Email Summaries', 'wp-mail-smtp' ), 'lite' => [ 'status' => 'partial', 'lead' => esc_html__( 'Receive a basic report of your total emails sent including a summary of the previous week\'s sent emails.', 'wp-mail-smtp' ), 'rest' => '', ], 'pro' => [ 'status' => 'full', 'lead' => esc_html__( 'Receive a detailed report of your total and previous week\'s metrics for emails sent, failed, and delivered, plus statistics for your top 5 popular emails.', 'wp-mail-smtp' ), 'rest' => '', ], ], [ 'feature' => esc_html__( 'Email Error Tracking', 'wp-mail-smtp' ), 'lite' => [ 'status' => 'full', 'lead' => esc_html__( 'View email sending errors in your WordPress dashboard.', 'wp-mail-smtp' ), 'rest' => '', ], 'pro' => [ 'status' => 'full', 'lead' => esc_html__( 'View email sending errors in your WordPress dashboard.', 'wp-mail-smtp' ), 'rest' => '', ], ], [ 'feature' => esc_html__( 'Google Workspace', 'wp-mail-smtp' ), 'lite' => [ 'status' => 'partial', 'lead' => esc_html__( 'Manually connect to your account with Google Workspace/ Gmail mailer', 'wp-mail-smtp' ), 'rest' => '', ], 'pro' => [ 'status' => 'full', 'lead' => esc_html__( 'Access your Google Workspace immediately with Gmail One Click Setup', 'wp-mail-smtp' ), 'rest' => '', ], ], [ 'feature' => esc_html__( 'Outlook', 'wp-mail-smtp' ), 'lite' => $not_available, 'pro' => [ 'status' => 'full', 'lead' => esc_html__( 'Access Outlook immediately with Outlook One Click Setup', 'wp-mail-smtp' ), 'rest' => '', ], ], [ 'feature' => esc_html__( 'Email Logging', 'wp-mail-smtp' ), 'lite' => $not_available, 'pro' => [ 'status' => 'full', 'lead' => esc_html__( 'View detailed email logs in your WordPress dashboard.', 'wp-mail-smtp' ), 'rest' => esc_html__( 'Includes delivery status, email content, attachments, source, and technical details, plus the option to resend the email.', 'wp-mail-smtp' ), ], ], [ 'feature' => esc_html__( 'Instant Email Alerts', 'wp-mail-smtp' ), 'lite' => $not_available, 'pro' => [ 'status' => 'full', 'lead' => esc_html__( 'Receive an alert via your preferred channel whenever an email fails to send.', 'wp-mail-smtp' ), 'rest' => esc_html__( 'Email, Slack, SMS via Twilio, Microsoft Teams, Discord, or custom webhooks.', 'wp-mail-smtp' ), ], ], [ 'feature' => esc_html__( 'Backup Connections', 'wp-mail-smtp' ), 'lite' => $not_available, 'pro' => [ 'status' => 'full', 'lead' => esc_html__( 'Connect to multiple SMTP providers.', 'wp-mail-smtp' ), 'rest' => esc_html__( 'Choose one primary connection, then select another connection as a backup. If an email fails to send via your primary connection, it will automatically be resent using your backup connection.', 'wp-mail-smtp' ), ], ], [ 'feature' => esc_html__( 'Manage Email Notifications', 'wp-mail-smtp' ), 'lite' => $not_available, 'pro' => [ 'status' => 'full', 'lead' => esc_html__( 'Choose which default WordPress email notifications your site sends.', 'wp-mail-smtp' ), 'rest' => '', ], ], [ 'feature' => esc_html__( 'Open & Click Tracking', 'wp-mail-smtp' ), 'lite' => $not_available, 'pro' => [ 'status' => 'full', 'lead' => esc_html__( 'Monitor email open and click-through rates.', 'wp-mail-smtp' ), 'rest' => '', ], ], [ 'feature' => esc_html__( 'Email Reports', 'wp-mail-smtp' ), 'lite' => $not_available, 'pro' => [ 'status' => 'full', 'lead' => esc_html__( 'View advanced email reports in your WordPress dashboard.', 'wp-mail-smtp' ), 'rest' => esc_html__( 'Includes total number of emails sent, emails delivered, failed emails, opened emails, links clicked.', 'wp-mail-smtp' ), ], ], [ 'feature' => esc_html__( 'Smart Routing', 'wp-mail-smtp' ), 'lite' => $not_available, 'pro' => [ 'status' => 'full', 'lead' => esc_html__( 'Send emails through more than one SMTP provider.', 'wp-mail-smtp' ), 'rest' => esc_html__( 'Connect WP Mail SMTP to multiple providers, then route emails through your preferred provider based on custom conditional logic rules.', 'wp-mail-smtp' ), ], ], ]; } }
💾 Save Changes
❌ Cancel