From 406eb625a9e2a5557177a3b4e8b4a82e1a43abec Mon Sep 17 00:00:00 2001 From: Cooper Dalrymple Date: Fri, 14 Aug 2026 10:03:27 -0500 Subject: [PATCH] Add GF section to settings page --- inc/class-settings.php | 16 ++++++++++++++++ inc/gravityforms/class-addon.php | 10 ++++++++++ 2 files changed, 26 insertions(+) diff --git a/inc/class-settings.php b/inc/class-settings.php index bbcdfaf..bf80834 100644 --- a/inc/class-settings.php +++ b/inc/class-settings.php @@ -12,6 +12,7 @@ namespace Ogre\Captcha; use Ogre\Singleton; use Ogre\Captcha as Plugin; +use Ogre\Captcha\GravityForms\Addon; defined('ABSPATH') || exit; @@ -378,6 +379,21 @@ final class Settings { ] ); + if (Plugin::is_gravityforms_active() && class_exists('Ogre\Captcha\GravityForms\Addon')) { + add_settings_section( + 'gravityforms', + Plugin::__('Gravity Forms'), + [$this, 'section'], + Plugin::get_id(), + [ + 'description' => sprintf( + Plugin::__('The configuration of Ogre CAPTCHA\'s Gravityforms integration can be found on this page and within the settings of each form.'), + esc_url(Addon::get_instance()->get_url()) + ), + ] + ); + } + } diff --git a/inc/gravityforms/class-addon.php b/inc/gravityforms/class-addon.php index 1e579d9..e85a7f8 100644 --- a/inc/gravityforms/class-addon.php +++ b/inc/gravityforms/class-addon.php @@ -177,4 +177,14 @@ final class Addon extends GFAddOn { return $links; } + public function get_url(): string { + return add_query_arg( + [ + 'page' => 'gf_settings', + 'subview' => $this->get_slug() + ], + admin_url('admin.php') + ); + } + }