{"id":304040,"date":"2026-05-29T08:11:22","date_gmt":"2026-05-29T08:11:22","guid":{"rendered":"https:\/\/it.wordpress.org\/plugins\/gtlss\/"},"modified":"2026-05-29T08:11:00","modified_gmt":"2026-05-29T08:11:00","slug":"gtlss","status":"publish","type":"plugin","link":"https:\/\/hsb.wordpress.org\/plugins\/gtlss\/","author":14423274,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"GTLSS","header_author":"Giuseppe Tavera","header_description":"Generates an \"AI Summary\" box (max 5 points) for your articles using OpenAI API.","assets_banners_color":"","last_updated":"2026-05-29 08:11:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/gtlss\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":24,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"giusetavera","date":"2026-05-29 08:11:00"}},"upgrade_notice":{"1.0.0":"<p>First public release. No upgrade steps required.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The AI Summary metabox in the WordPress post editor.","2":"Settings page \u2014 API key, display mode, and fallback configuration.","3":"Bulk Optimization panel for generating summaries across multiple posts.","4":"Frontend display of the AI Summary box above the article content."}},"plugin_section":[],"plugin_tags":[2353,5739,529,194533,520],"plugin_category":[],"plugin_contributors":[264897],"plugin_business_model":[],"class_list":["post-304040","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-artificial-intelligence","plugin_tags-content","plugin_tags-openai","plugin_tags-summary","plugin_contributors-giusetavera","plugin_committers-giusetavera"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/gtlss.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>GTLSS generates an <strong>AI Summary<\/strong> box that synthesises the content of a WordPress article into a <strong>maximum of 5 key points<\/strong>, helping readers quickly understand what the post is about before reading it in full.<\/p>\n\n<p>The summary is generated via the OpenAI API and can be displayed in two ways:<\/p>\n\n<ul>\n<li><strong>Automatically<\/strong> \u2014 inserted before the first H2 heading in the article<\/li>\n<li><strong>Manually<\/strong> \u2014 using the <code>[gtlss]<\/code> shortcode anywhere in the content<\/li>\n<\/ul>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li>AI-powered summary generation (up to 5 bullet points)<\/li>\n<li>Automatic insertion before the first H2 heading<\/li>\n<li><code>[gtlss]<\/code> shortcode for manual placement<\/li>\n<li>Per-post generation via a dedicated metabox in the editor<\/li>\n<li>Bulk generation across multiple posts from the admin panel<\/li>\n<li>Configurable fallback position when no H2 heading is found<\/li>\n<li>Summaries stored in post meta \u2014 never re-generated without user action<\/li>\n<li>No telemetry, no tracking, no external data collection<\/li>\n<li>Secure API key storage (not autoloaded, masked in the UI)<\/li>\n<li>Fully internationalised and ready for translation<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Enter your OpenAI API key in <strong>GTLSS \u2192 Settings<\/strong><\/li>\n<li>Enable AI generation with the opt-in toggle<\/li>\n<li>Open any post, click <strong>Generate<\/strong> in the AI Summary metabox<\/li>\n<li>The summary is saved to the post and displayed automatically<\/li>\n<\/ol>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>An <a href=\"https:\/\/platform.openai.com\/account\/api-keys\">OpenAI API key<\/a> (free trial or paid account)<\/li>\n<li>WordPress 6.0 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<\/ul>\n\n<h3>Third-Party Services<\/h3>\n\n<p>This plugin connects to the <strong>OpenAI API<\/strong> to generate article summaries.<\/p>\n\n<p>When you trigger a summary generation (single post or bulk), the plugin sends the <strong>full text content of the post<\/strong> to OpenAI. No other data is transmitted.<\/p>\n\n<p>Requests are made <strong>only when<\/strong>:<\/p>\n\n<ol>\n<li>A valid OpenAI API key has been entered in the plugin settings<\/li>\n<li>AI generation has been explicitly enabled by an administrator<\/li>\n<li>A generation is manually triggered (no automatic background processing)<\/li>\n<\/ol>\n\n<p>OpenAI Privacy Policy: https:\/\/openai.com\/policies\/privacy-policy\nOpenAI Terms of Use: https:\/\/openai.com\/policies\/terms-of-use<\/p>\n\n<!--section=installation-->\n<h4>Automatic installation<\/h4>\n\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong> in your WordPress admin<\/li>\n<li>Search for <strong>GTLSS<\/strong><\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong><\/li>\n<\/ol>\n\n<h4>Manual installation<\/h4>\n\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>Go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong><\/li>\n<li>Upload the zip file and click <strong>Install Now<\/strong>, then <strong>Activate<\/strong><\/li>\n<\/ol>\n\n<h4>First-time setup<\/h4>\n\n<ol>\n<li>Go to <strong>GTLSS \u2192 Settings<\/strong><\/li>\n<li>Enter your OpenAI API key and click <strong>Test Connection<\/strong> to verify it<\/li>\n<li>Enable AI generation using the opt-in toggle<\/li>\n<li>Choose how to display summaries: automatic (before first H2) or shortcode<\/li>\n<li>Open any post and click <strong>Generate<\/strong> in the <strong>AI Summary<\/strong> metabox<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20openai%20account%3F\"><h3>Do I need an OpenAI account?<\/h3><\/dt>\n<dd><p>Yes. You need a valid OpenAI API key to use this plugin. You can create one at https:\/\/platform.openai.com\/account\/api-keys. OpenAI offers a free trial credit for new accounts.<\/p><\/dd>\n<dt id=\"is%20the%20summary%20generated%20automatically%20on%20every%20page%20load%3F\"><h3>Is the summary generated automatically on every page load?<\/h3><\/dt>\n<dd><p>No. Summaries are generated only when you explicitly click <strong>Generate<\/strong> in the post editor, or run a bulk generation from the admin panel. Once generated, the summary is stored in the post and served directly from the database \u2014 no API calls happen on the frontend.<\/p><\/dd>\n<dt id=\"where%20is%20the%20summary%20stored%3F\"><h3>Where is the summary stored?<\/h3><\/dt>\n<dd><p>The summary is stored in the WordPress database as post meta, associated with the individual post. It is not part of the post content and can be regenerated or erased at any time.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20article%20has%20no%20h2%20heading%3F\"><h3>What happens if the article has no H2 heading?<\/h3><\/dt>\n<dd><p>You can configure a fallback position in <strong>GTLSS \u2192 Settings<\/strong>. The summary can be inserted before or after the post content when no H2 heading is found.<\/p><\/dd>\n<dt id=\"can%20i%20display%20the%20summary%20manually%3F\"><h3>Can I display the summary manually?<\/h3><\/dt>\n<dd><p>Yes. Set the display mode to <strong>Shortcode<\/strong> in Settings, then add <code>[gtlss]<\/code> anywhere inside the post content.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20slow%20down%20my%20site%3F\"><h3>Does the plugin slow down my site?<\/h3><\/dt>\n<dd><p>No. The summary is generated once and cached in post meta. On the frontend, the plugin only queries the database for the stored summary \u2014 it never calls the OpenAI API during page load.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20track%20users%20or%20collect%20analytics%3F\"><h3>Does the plugin track users or collect analytics?<\/h3><\/dt>\n<dd><p>No. The plugin contains no telemetry, analytics, or tracking code of any kind.<\/p><\/dd>\n<dt id=\"which%20ai%20model%20is%20used%3F\"><h3>Which AI model is used?<\/h3><\/dt>\n<dd><p>The plugin uses <code>gpt-4o-mini<\/code> by default. Developers can change the model via the <code>gtlss_provider_model<\/code> filter.<\/p><\/dd>\n<dt id=\"can%20i%20use%20a%20different%20ai%20provider%3F\"><h3>Can I use a different AI provider?<\/h3><\/dt>\n<dd><p>The endpoint, headers, and request body are all overridable via filters (<code>gtlss_provider_endpoint<\/code>, <code>gtlss_provider_headers<\/code>, <code>gtlss_provider_body<\/code>), making it possible to point the plugin at any OpenAI-compatible API.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>AI summary generation via OpenAI API (up to 5 bullet points per post)<\/li>\n<li>Automatic insertion before the first H2 heading<\/li>\n<li><code>[gtlss]<\/code> shortcode support for manual placement<\/li>\n<li>Per-post generation via metabox in the post editor<\/li>\n<li>Bulk generation for multiple posts from the admin panel<\/li>\n<li>Configurable fallback position when no H2 is present<\/li>\n<li>Secure API key storage with connection test<\/li>\n<li>Full internationalisation support<\/li>\n<\/ul>","raw_excerpt":"Automatically generates an AI Summary box for WordPress articles using the OpenAI API. Up to 5 key points, displayed before the content.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/304040","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=304040"}],"author":[{"embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/giusetavera"}],"wp:attachment":[{"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=304040"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=304040"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=304040"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=304040"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=304040"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=304040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}