=== Hide Single Title-ictworld24 ===
Contributors: ictworld24
Donate link: https://ictworld24.com
Tags: hide title, page title, post title, custom post type, title
Requires at least: 5.5
Tested up to: 7.0
Requires PHP: 7.2
Stable tag: 1.1.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Hide the title on individual posts, pages, and public custom post types, with per-post-type control and a per-post override.

== Description ==

Hide Single Title-ictworld24 lets you remove the page/post title from the single (individual) view of any public post type on your site, without editing your theme files.

**Features**

* Works with Posts, Pages, and any public Custom Post Type registered on your site (Elementor templates, WooCommerce-style products, and other plugin-registered post types included).
* Simple settings page (under Settings → Hide Single Title-ictworld24) with a checkbox per post type — enable only where you need it.
* **Per-post override:** need one exception? Open any individual post, page, or custom post type entry and use the "Hide Single Title-ictworld24" box in the sidebar to force the title to always show, or always hide, on that one entry — no matter what the site-wide setting says.
* No theme editing required; works by filtering the core `the_title` output on the main query of singular views.
* Lightweight: no styles, no scripts, no database tables. Only one option and, optionally, a small piece of post meta are stored.
* Clean uninstall: removes its stored setting and per-post overrides when the plugin is deleted, including on multisite.

**Who is this for?**

Many themes and page builders let you design a fully custom hero/header section for a page or post, but the theme still prints the post title above it, causing a duplicate heading. This plugin lets you selectively hide that default title output per post type, so your custom design shows cleanly — and if 99% of your pages should hide the title but one shouldn't, the per-post override handles that single exception without touching the global setting.

**How it works**

1. The plugin reads every public post type registered on your site (Post, Page, and any custom post type marked "public", including ones added by other plugins).
2. From Settings → Hide Single Title-ictworld24, you tick which post types should have their title hidden on the single/individual view.
3. When WordPress renders a single post/page in the main loop, the plugin checks: does this specific post have a personal override set? If yes, that wins. If not, it falls back to the site-wide setting for that post type.
4. Nothing is deleted. The real post title stays exactly as you typed it in the editor, in the database, in the admin list, in SEO tags, and in the page's browser tab — only the visible on-page heading printed by the theme's `the_title()` call is affected.

**When it hides the title (and when it doesn't)**

* It only affects the **single/individual view** — a single post, a single page, a single product, etc. Archive pages, category/tag pages, and search results are never touched.
* It hides the title only where the active theme or builder prints it using WordPress's standard `the_title()`/`get_the_title()` calls inside the main loop. Themes or builders that hard-code the title through custom markup instead of the standard function may need additional theme-specific CSS.

**Note:** This plugin hides titles that are output through the standard `the_title()` function inside the WordPress Loop. Some themes or builders render the title through custom markup instead of `the_title()`; in that case, hiding it may require additional theme-specific CSS.

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/hide-single-title-ictworld24` directory, or install the plugin directly through the WordPress plugins screen.
2. Activate the plugin through the 'Plugins' screen in WordPress.
3. Go to Settings → Hide Single Title-ictworld24.
4. Check the post types for which you want the single/individual page title hidden, then click Save Changes.
5. Optional: open any individual post/page and use the "Hide Single Title-ictworld24" box in the right-hand sidebar to override the site-wide setting for that one post only.

== Frequently Asked Questions ==

= Does this hide the title everywhere, including archive and listing pages? =

No. It only hides the title on the single/individual view of a post type (for example, a single blog post page or a single custom post type page), not on archives, category pages, or search results.

= I enabled it for a post type but the title still shows. Why? =

Some themes or page builders output the title using custom template code instead of the standard `the_title()` function, which this plugin filters. In that case you may need theme-specific CSS to hide it. A caching plugin showing an old cached page can also make it look like nothing changed — clear your cache after saving settings.

= Can I hide the title everywhere for a post type, except one specific post? =

Yes. Enable the post type on the main settings page, then open that one post and set the sidebar box to "Always show the title on this post." That post will keep its title while every other post of the same type stays hidden.

= Can I hide the title on just one post without enabling the whole post type? =

Yes. Leave the post type unchecked on the settings page, then open that one post and set the sidebar box to "Always hide the title on this post."

= Does this delete my post titles? =

No. Your post title is untouched in the database and in the admin editor; the plugin only hides its output on the front-end single view for the post types (or individual posts) you select.

= Is any data collected? =

No. The plugin does not collect, transmit, or store any personal data. It only stores your selected post type list as a site option, and, if you use the per-post override, one small meta value on the posts you choose.

== Screenshots ==

1. Settings page showing the list of public post types with a checkbox to hide the title for each.
2. The per-post override box in the post/page editor sidebar, used to force-show or force-hide the title on one specific entry.

== Changelog ==

= 1.1.1 =
* Fix: bundled the missing settings-page icon inside the plugin's own assets folder (it was referenced but not included, so it failed to display).

= 1.1.0 =
* New: per-post/per-page override box in the editor sidebar, to force-show or force-hide the title on one specific entry regardless of the site-wide setting.
* Updated uninstall routine to also remove the per-post override meta, including on multisite.
* Tested up to WordPress 7.0.

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.1.1 =
Fixes the settings-page icon not displaying. No action required to upgrade.

= 1.1.0 =
Adds a per-post override so you can make exceptions to the site-wide setting on individual posts or pages. No action required to upgrade.

= 1.0.0 =
Initial release.
