doing_it_wrong( __METHOD__, __( 'Missing email_id in args for email preview endpoint URL.', 'charitable' ), '1.5.0' ); return ''; } return esc_url_raw( add_query_arg( array( 'charitable_action' => 'preview_email', 'email_id' => $args['email_id'], ), home_url() ) ); } /** * Return whether we are currently viewing the endpoint. * * @since 1.5.0 * * @param array $args Mixed arguments. * @return boolean */ public function is_page( $args = array() ) { return array_key_exists( 'charitable_action', $_GET ) && 'preview_email' === $_GET['charitable_action']; // phpcs:ignore WordPress.Security.NonceVerification.Recommended } /** * Whether the endpoint uses a custom template. * * @since 1.8.1.6 * * @return boolean */ public function uses_custom_template() { return true; } /** * Return the template to display for this endpoint. * * @since 1.5.0 * @since 1.6.55 Now returns an array. * * @param string $template The default template. * @return array */ public function get_template( $template ) { do_action( 'charitable_email_preview' ); return array( 'emails/preview.php' ); } } endif;