%s', esc_url( accessnow_spam_eater_help_url() ), esc_html__( 'Help articles', 'accessnow-spam-eater' ) ); $links[] = sprintf( '%s', esc_url( accessnow_spam_eater_support_url() ), esc_html__( 'Get support', 'accessnow-spam-eater' ) ); if ( '' !== ACCESSNOW_SPAM_EATER_WPORG_SLUG ) { $links[] = sprintf( '%s', esc_url( 'https://wordpress.org/support/plugin/' . ACCESSNOW_SPAM_EATER_WPORG_SLUG . '/reviews/#new-post' ), esc_html__( 'Rate it', 'accessnow-spam-eater' ) ); } return $links; } /** * Action: load-settings_page_accessnow-spam-eater. The Help tab: one tab per part of the screen, each ending in * a link to the article that covers it, and the support links in the sidebar. */ function accessnow_spam_eater_help_tabs() { $screen = get_current_screen(); if ( ! $screen ) { return; } $tabs = array( 'overview' => array( __( 'Overview', 'accessnow-spam-eater' ), __( 'Every supported form on the site is protected as soon as the plugin is active: hidden fields, a small script and timing checks, with no CAPTCHA. Untick any form you want left alone.', 'accessnow-spam-eater' ), accessnow_spam_eater_help_url( 'spam-eater-getting-started' ), __( 'Getting started: choose which forms to protect', 'accessnow-spam-eater' ), ), 'checks' => array( __( 'How it decides', 'accessnow-spam-eater' ), __( 'Five checks run in order, and the first one that fails turns the submission away with a reference code, such as SE-B1.', 'accessnow-spam-eater' ), accessnow_spam_eater_help_url( 'spam-eater-reference-codes' ), __( 'A real visitor was blocked: what the reference code means', 'accessnow-spam-eater' ), ), 'blocking' => array( __( 'IP Blocking', 'accessnow-spam-eater' ), __( 'An address that keeps filling in the hidden field is turned away for a while. Behind Cloudflare or another proxy, add its addresses under Trusted proxies first, or every visitor looks like the same address.', 'accessnow-spam-eater' ), accessnow_spam_eater_help_url( 'spam-eater-proxy-and-cdn' ), __( 'Sites behind Cloudflare or another proxy', 'accessnow-spam-eater' ), ), 'lists' => array( __( 'Allow and block lists', 'accessnow-spam-eater' ), __( 'Always allow your own addresses, or always refuse an address or range you name. Neither list ever stops anyone logging in.', 'accessnow-spam-eater' ), accessnow_spam_eater_help_url( 'spam-eater-ip-blocking' ), __( 'IP blocking: who gets blocked, and how to unblock', 'accessnow-spam-eater' ), ), 'rules' => array( __( 'Your own rules', 'accessnow-spam-eater' ), __( 'Words, links and patterns that mark a message as spam, and a list of throwaway email services. Checked as the form arrives, never stored.', 'accessnow-spam-eater' ), accessnow_spam_eater_help_url( 'spam-eater-your-own-rules' ), __( 'Your own words, patterns and throwaway email addresses', 'accessnow-spam-eater' ), ), 'login' => array( __( 'Login', 'accessnow-spam-eater' ), __( 'Make repeated failed logins for one username from one address wait a little longer each time, without ever locking out the real owner.', 'accessnow-spam-eater' ), accessnow_spam_eater_help_url( 'spam-eater-login-throttle' ), __( 'Slowing down password guessing', 'accessnow-spam-eater' ), ), 'summary' => array( __( 'Summary and testing', 'accessnow-spam-eater' ), __( 'The spam summary on the Dashboard and by email, and the button that tests a form as a bot.', 'accessnow-spam-eater' ), accessnow_spam_eater_help_url( 'spam-eater-summary-and-testing' ), __( 'The spam summary, and testing a form as a bot', 'accessnow-spam-eater' ), ), 'loading' => array( __( 'Loading', 'accessnow-spam-eater' ), __( 'Where the small script loads. Page caches and forms in pop-ups need a little care.', 'accessnow-spam-eater' ), accessnow_spam_eater_help_url( 'spam-eater-caching-and-popups' ), __( 'Page caching and forms in pop-ups', 'accessnow-spam-eater' ), ), 'privacy' => array( __( 'Privacy', 'accessnow-spam-eater' ), __( 'Nothing is sent to any outside service. What is stored, for how long, and how to keep less.', 'accessnow-spam-eater' ), accessnow_spam_eater_help_url( 'spam-eater-privacy-and-data' ), __( 'What Spam Eater stores, and removing it', 'accessnow-spam-eater' ), ), ); foreach ( $tabs as $id => $tab ) { $screen->add_help_tab( array( 'id' => 'accessnow-spam-eater-help-' . $id, 'title' => $tab[0], 'content' => '

' . esc_html( $tab[1] ) . '

' . esc_html( $tab[3] ) . '

', ) ); } $sidebar = '

' . esc_html__( 'More help', 'accessnow-spam-eater' ) . '

'; $sidebar .= '

' . esc_html__( 'Help articles', 'accessnow-spam-eater' ) . '

'; $sidebar .= '

' . esc_html__( 'Get support', 'accessnow-spam-eater' ) . '

'; if ( '' !== ACCESSNOW_SPAM_EATER_WPORG_SLUG ) { $sidebar .= '

' . esc_html__( 'WordPress.org listing', 'accessnow-spam-eater' ) . '

'; } $sidebar .= '

' . esc_html__( 'WP-CLI commands', 'accessnow-spam-eater' ) . '

'; $sidebar .= '

' . esc_html__( 'About the plugin', 'accessnow-spam-eater' ) . '

'; $screen->set_help_sidebar( $sidebar ); }