diff --git a/includes/class-ettic-otc-admin.php b/includes/class-ettic-otc-admin.php
index 5a21bc1..0afb359 100644
--- a/includes/class-ettic-otc-admin.php
+++ b/includes/class-ettic-otc-admin.php
@@ -33,6 +33,11 @@ private function __construct() {
add_action('admin_enqueue_scripts', [$this, 'enqueue_assets']);
add_filter('submenu_file', [$this, 'fix_submenu_highlight']);
+ add_filter(
+ 'plugin_action_links_' . plugin_basename(ETTIC_OTC_PLUGIN_FILE),
+ [$this, 'add_plugin_action_links']
+ );
+
// Warn admins on every Ettic_OTC admin page when the site is on Plain
// permalinks — the plugin's pretty URLs all 404 in that mode.
add_action('admin_notices', [$this, 'render_plain_permalinks_notice']);
@@ -62,13 +67,15 @@ public function register_menu(): void {
30
);
+ // Position 0 forces Settings above CPT submenus that core injects via show_in_menu.
add_submenu_page(
'ettic-otc',
__('Settings', 'open-trust-center-by-ettic'),
__('Settings', 'open-trust-center-by-ettic'),
'manage_options',
'ettic-otc',
- $settings_page
+ $settings_page,
+ 0
);
// AI Questions — only visible once AI is enabled.
@@ -85,6 +92,21 @@ public function register_menu(): void {
}
}
+ public function add_plugin_action_links(array $links): array {
+ $settings = sprintf(
+ '%s',
+ esc_url(admin_url('admin.php?page=ettic-otc')),
+ esc_html__('Settings', 'open-trust-center-by-ettic')
+ );
+ $docs = sprintf(
+ '%s',
+ esc_url('https://plugins.ettic.nl/docs/opentrust'),
+ esc_html__('Docs', 'open-trust-center-by-ettic')
+ );
+ array_unshift($links, $settings, $docs);
+ return $links;
+ }
+
/**
* On "Add New" screens for our CPTs, highlight the correct submenu item.
*
diff --git a/languages/open-trust-center-by-ettic-nl_NL.po b/languages/open-trust-center-by-ettic-nl_NL.po
index 8038003..fe84f9c 100644
--- a/languages/open-trust-center-by-ettic-nl_NL.po
+++ b/languages/open-trust-center-by-ettic-nl_NL.po
@@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: Open Trust Center by Ettic 1.2.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/open-trust-center-"
"by-ettic\n"
-"POT-Creation-Date: 2026-05-21T20:55:06+00:00\n"
+"POT-Creation-Date: 2026-05-21T21:07:30+00:00\n"
"PO-Revision-Date: 2026-04-14 21:55+0000\n"
"Last-Translator: Ettic bundled starter \n"
"Language-Team: Dutch (Netherlands)\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Domain: open-trust-center-by-ettic\n"
#. Plugin Name of the plugin
-#: open-trust-center-by-ettic.php includes/class-ettic-otc-admin.php:56
+#: open-trust-center-by-ettic.php includes/class-ettic-otc-admin.php:61
msgid "Open Trust Center by Ettic"
msgstr ""
@@ -1074,101 +1074,106 @@ msgstr ""
msgid "Certifications"
msgstr "Certificeringen"
-#: includes/class-ettic-otc-admin.php:57 templates/partials/hero.php:38
+#: includes/class-ettic-otc-admin.php:62 templates/partials/hero.php:38
#: templates/trust-center.php:19
#, fuzzy
msgid "Trust Center"
msgstr "Trust Center"
-#: includes/class-ettic-otc-admin.php:67 includes/class-ettic-otc-admin.php:68
+#: includes/class-ettic-otc-admin.php:73 includes/class-ettic-otc-admin.php:74
+#: includes/class-ettic-otc-admin.php:99
msgid "Settings"
msgstr ""
-#: includes/class-ettic-otc-admin.php:79 includes/class-ettic-otc-admin.php:80
+#: includes/class-ettic-otc-admin.php:86 includes/class-ettic-otc-admin.php:87
msgid "Questions"
msgstr ""
-#: includes/class-ettic-otc-admin.php:158
+#: includes/class-ettic-otc-admin.php:104
+msgid "Docs"
+msgstr ""
+
+#: includes/class-ettic-otc-admin.php:180
msgid "Select Badge Image"
msgstr ""
-#: includes/class-ettic-otc-admin.php:159
+#: includes/class-ettic-otc-admin.php:181
msgid "Use as Badge"
msgstr ""
-#: includes/class-ettic-otc-admin.php:160
+#: includes/class-ettic-otc-admin.php:182
msgid "Select Proof Artifact"
msgstr ""
-#: includes/class-ettic-otc-admin.php:161
+#: includes/class-ettic-otc-admin.php:183
msgid "Use This File"
msgstr ""
-#: includes/class-ettic-otc-admin.php:162 includes/class-ettic-otc-cpt.php:522
+#: includes/class-ettic-otc-admin.php:184 includes/class-ettic-otc-cpt.php:522
msgid "Upload File"
msgstr ""
-#: includes/class-ettic-otc-admin.php:163 includes/class-ettic-otc-cpt.php:522
+#: includes/class-ettic-otc-admin.php:185 includes/class-ettic-otc-cpt.php:522
msgid "Replace File"
msgstr ""
-#: includes/class-ettic-otc-admin.php:178
+#: includes/class-ettic-otc-admin.php:200
msgid "No match in catalog, just keep typing to add manually."
msgstr ""
-#: includes/class-ettic-otc-admin.php:179
+#: includes/class-ettic-otc-admin.php:201
msgid "Auto-filled from catalog, you may want to verify this."
msgstr ""
-#: includes/class-ettic-otc-admin.php:180
+#: includes/class-ettic-otc-admin.php:202
msgid ""
"Auto-filled template, please verify this matches how you use this service."
msgstr ""
-#: includes/class-ettic-otc-admin.php:181
+#: includes/class-ettic-otc-admin.php:203
msgid "click to autofill"
msgstr ""
-#: includes/class-ettic-otc-admin.php:182
+#: includes/class-ettic-otc-admin.php:204
msgid "Catalog suggestions"
msgstr ""
-#: includes/class-ettic-otc-admin.php:228
+#: includes/class-ettic-otc-admin.php:250
msgid "Open Trust Center requires pretty permalinks."
msgstr ""
#. translators: %s: link to Settings → Permalinks
-#: includes/class-ettic-otc-admin.php:232
+#: includes/class-ettic-otc-admin.php:254
#, php-format
msgid ""
"Your site is using \"Plain\" permalinks. Please go to %s and choose any "
"other option (Post name is the WordPress default)."
msgstr ""
-#: includes/class-ettic-otc-admin.php:233
+#: includes/class-ettic-otc-admin.php:255
msgid "Settings → Permalinks"
msgstr ""
-#: includes/class-ettic-otc-admin.php:238
+#: includes/class-ettic-otc-admin.php:260
msgid ""
"Without pretty permalinks, every link Open Trust Center generates returns "
"404 — including the trust center page itself. Visitors will not be able to "
"reach your policies, certifications, or chat."
msgstr ""
-#: includes/class-ettic-otc-admin.php:242
+#: includes/class-ettic-otc-admin.php:264
msgid "Read-only fallback if you cannot change permalinks"
msgstr ""
-#: includes/class-ettic-otc-admin.php:246
+#: includes/class-ettic-otc-admin.php:268
msgid "You can preview the trust center via raw query-string URLs:"
msgstr ""
-#: includes/class-ettic-otc-admin.php:254
+#: includes/class-ettic-otc-admin.php:276
msgid "This is for testing only."
msgstr ""
-#: includes/class-ettic-otc-admin.php:255
+#: includes/class-ettic-otc-admin.php:277
msgid "Switching to pretty permalinks is the only supported configuration."
msgstr ""
diff --git a/languages/open-trust-center-by-ettic.pot b/languages/open-trust-center-by-ettic.pot
index 931887d..6c3c134 100644
--- a/languages/open-trust-center-by-ettic.pot
+++ b/languages/open-trust-center-by-ettic.pot
@@ -9,14 +9,14 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"POT-Creation-Date: 2026-05-21T20:55:06+00:00\n"
+"POT-Creation-Date: 2026-05-21T21:07:30+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.12.0\n"
"X-Domain: open-trust-center-by-ettic\n"
#. Plugin Name of the plugin
#: open-trust-center-by-ettic.php
-#: includes/class-ettic-otc-admin.php:56
+#: includes/class-ettic-otc-admin.php:61
msgid "Open Trust Center by Ettic"
msgstr ""
@@ -978,99 +978,104 @@ msgstr ""
msgid "Certifications"
msgstr ""
-#: includes/class-ettic-otc-admin.php:57
+#: includes/class-ettic-otc-admin.php:62
#: templates/partials/hero.php:38
#: templates/trust-center.php:19
msgid "Trust Center"
msgstr ""
-#: includes/class-ettic-otc-admin.php:67
-#: includes/class-ettic-otc-admin.php:68
+#: includes/class-ettic-otc-admin.php:73
+#: includes/class-ettic-otc-admin.php:74
+#: includes/class-ettic-otc-admin.php:99
msgid "Settings"
msgstr ""
-#: includes/class-ettic-otc-admin.php:79
-#: includes/class-ettic-otc-admin.php:80
+#: includes/class-ettic-otc-admin.php:86
+#: includes/class-ettic-otc-admin.php:87
msgid "Questions"
msgstr ""
-#: includes/class-ettic-otc-admin.php:158
+#: includes/class-ettic-otc-admin.php:104
+msgid "Docs"
+msgstr ""
+
+#: includes/class-ettic-otc-admin.php:180
msgid "Select Badge Image"
msgstr ""
-#: includes/class-ettic-otc-admin.php:159
+#: includes/class-ettic-otc-admin.php:181
msgid "Use as Badge"
msgstr ""
-#: includes/class-ettic-otc-admin.php:160
+#: includes/class-ettic-otc-admin.php:182
msgid "Select Proof Artifact"
msgstr ""
-#: includes/class-ettic-otc-admin.php:161
+#: includes/class-ettic-otc-admin.php:183
msgid "Use This File"
msgstr ""
-#: includes/class-ettic-otc-admin.php:162
+#: includes/class-ettic-otc-admin.php:184
#: includes/class-ettic-otc-cpt.php:522
msgid "Upload File"
msgstr ""
-#: includes/class-ettic-otc-admin.php:163
+#: includes/class-ettic-otc-admin.php:185
#: includes/class-ettic-otc-cpt.php:522
msgid "Replace File"
msgstr ""
-#: includes/class-ettic-otc-admin.php:178
+#: includes/class-ettic-otc-admin.php:200
msgid "No match in catalog, just keep typing to add manually."
msgstr ""
-#: includes/class-ettic-otc-admin.php:179
+#: includes/class-ettic-otc-admin.php:201
msgid "Auto-filled from catalog, you may want to verify this."
msgstr ""
-#: includes/class-ettic-otc-admin.php:180
+#: includes/class-ettic-otc-admin.php:202
msgid "Auto-filled template, please verify this matches how you use this service."
msgstr ""
-#: includes/class-ettic-otc-admin.php:181
+#: includes/class-ettic-otc-admin.php:203
msgid "click to autofill"
msgstr ""
-#: includes/class-ettic-otc-admin.php:182
+#: includes/class-ettic-otc-admin.php:204
msgid "Catalog suggestions"
msgstr ""
-#: includes/class-ettic-otc-admin.php:228
+#: includes/class-ettic-otc-admin.php:250
msgid "Open Trust Center requires pretty permalinks."
msgstr ""
#. translators: %s: link to Settings → Permalinks
-#: includes/class-ettic-otc-admin.php:232
+#: includes/class-ettic-otc-admin.php:254
#, php-format
msgid "Your site is using \"Plain\" permalinks. Please go to %s and choose any other option (Post name is the WordPress default)."
msgstr ""
-#: includes/class-ettic-otc-admin.php:233
+#: includes/class-ettic-otc-admin.php:255
msgid "Settings → Permalinks"
msgstr ""
-#: includes/class-ettic-otc-admin.php:238
+#: includes/class-ettic-otc-admin.php:260
msgid "Without pretty permalinks, every link Open Trust Center generates returns 404 — including the trust center page itself. Visitors will not be able to reach your policies, certifications, or chat."
msgstr ""
-#: includes/class-ettic-otc-admin.php:242
+#: includes/class-ettic-otc-admin.php:264
msgid "Read-only fallback if you cannot change permalinks"
msgstr ""
-#: includes/class-ettic-otc-admin.php:246
+#: includes/class-ettic-otc-admin.php:268
msgid "You can preview the trust center via raw query-string URLs:"
msgstr ""
-#: includes/class-ettic-otc-admin.php:254
+#: includes/class-ettic-otc-admin.php:276
msgid "This is for testing only."
msgstr ""
-#: includes/class-ettic-otc-admin.php:255
+#: includes/class-ettic-otc-admin.php:277
msgid "Switching to pretty permalinks is the only supported configuration."
msgstr ""