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 ""