=== Microposts - Microblogging post type ===
Contributors: Creotec Limited, Michael Gbadebo
Tags: microblog, short posts, microblogging, hashtags, infinite scroll
Requires at least: 5.8
Requires PHP: 7.2
Tested up to: 7.0
Stable tag: 1.5.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Donate link: https://sowandnurture.com/

Create a Twitter-style (X-style) microblog on your WordPress site with hashtags, AJAX feed, infinite scroll, and automatic title generation.

== Description ==

**Microposts** adds a simple microblogging system to your WordPress site - perfect for short posts, status updates, and mini articles.  

It introduces a new custom post type called *Micropost* with a minimalist writing interface and a dynamic front-end feed.

Major features include:

*  A clean, fast microblog editor with Gutenberg disabled.
*  Automatic hashtag detection and linking.
*  Tag-based filtering via AJAX.
*  Infinite scroll loading for continuous reading.
*  REST API endpoint for easy front-end integration.
*  Auto-generated titles and permalinks.
*  Content sanitisation and paragraph formatting.
*  Admin tools for hashtag moderation.
*  Fully responsive front-end output.
*  SEO friendly - single page pagination.
*  Optional support for native WordPress comments on Microposts.
*  Shortcode [creomicro_list] for server-rendered output with date filtering, tag filtering, and sorting.

Microposts is ideal for personal sites, project updates, or internal micro-communication hubs.

== Installation ==

1. Upload the 'microposts' folder to the '/wp-content/plugins/' directory or install via the WordPress plugin installer.
2. Activate the plugin through the *Plugins* menu in WordPress.
3. Create new "Microposts" in the admin dashboard (menu: **Microposts > Add New**).
4. Optionally, assign a page to display your feed under **Settings > Microposts** or insert the shortcode '[creomicro_feed]' in any page.
5. Display your feed in a post or page using [creomicro_list] shortcode with date and tags filtering, sorting, and customisable no result message.
6. Enable or disable native WordPress comments on Microposts.
7. Add (and modify) the single-micropost template file to your theme folder (under **Settings > Microposts**).
8. Set what template to use to display single micropost (under **Settings > Microposts**).
9. That's it - your microblog is live!

== Shortcodes ==

=== [creomicro_feed] ===
Displays the AJAX-powered Micropost feed with infinite scroll and hashtag filtering.

Example:
[creomicro_feed]

=== [creomicro_list] ===
Displays a static, server-rendered list of Microposts with optional filtering.

Attributes:
- start="YYYY-MM-DD"
- end="YYYY-MM-DD"
- tag="tag1,tag2"
- sort="asc|desc"
- per_page="10"
- no_message="Custom empty message"

Examples:
[creomicro_list start="2025-11-01" end="2025-11-30"]
[creomicro_list tag="news,updates" sort="asc"]
[creomicro_list no_message="No posts found." per_page="3"]
[creomicro_list start="2025-11-01" end="2025-11-30" tag="geopolitical,woke" sort="asc"]


== Frequently Asked Questions ==

= How do I display microposts on a page? =
Insert the shortcode '[creomicro_feed]' into any page or select a display page in the settings panel or set a page from the Micropost settings screen.

= Can I use hashtags? =
Yes! Typing '#example' in your content automatically links it to the relevant micropost tag.

= I get "micropost/page not found" error when I try to view single micropost =
This is a Permalink issue. To fix, go to Settings -> Permalinks -> click "Save Changes" button.

= How does the infinite scroll work? =
Microposts uses AJAX to load new posts dynamically as the reader scrolls.

= Can I disable the title field? =
No - titles are auto-generated from the first 60 characters of the content, but you can edit them if needed.

= Does it work with the block editor? =
The plugin disables Gutenberg for this post type and uses the classic editor for speed and simplicity.

= How do I enable or disable comments for Microposts? =
Go to **Settings > Microposts** and check or uncheck **"Enable comments on Microposts."**
When enabled, each Micropost can have native WordPress comments and the single Micropost page will display them automatically.

= Where are comments shown? =
Comments appear on the single Micropost view (using 'single-micropost.php'). 
The Micropost feed also displays a comment bubble icon with the total number of comments for each post.

= Can I disable comments later? =
Yes. Unchecking the comments option in the settings immediately hides comment links and prevents new comments from being added.

= How does Disable Comments plugin affect Micropost's enable/disable comments feature? =
The Disable Comments plugin overrides Micropost's setting. Make sure to also disable comments on the Micropost setting screen **Settings > Microposts**.

== Screenshots ==

1. Micropost editor screen (minimal UI).
2. Front-end feed with infinite scroll.
3. Hashtag filtering in action.
4. Tag moderation admin page.

== Changelog ==

= 1.5.2 =
*Release Date - 22 May 2026*

* Tested against WordPress 7.0 and updated readme.txt to reflect this.

= 1.5.1 =
*Release Date - 18 March 2026*

* Tested against WordPress 6.9.4 and made a tiny content update in readme.txt.

= 1.5.0 =
*Release Date - 31 January 2026*

* Added support for using a theme's page.php file to display single micropost - great for none coders.

= 1.4.0 =
*Release Date - 19 January 2026*

* Added support for quick micropost creation/posting via an admin dashboard widget.

= 1.3.0 =
*Release Date - 11 December 2025*

* Added new [creomicro_list] shortcode with date and tags filtering, sorting, and customisable no result message.

= 1.2.2 =
*Release Date - 03 December 2025*

* Minor code tweak for compatibility with WordPress version 3.9.

= 1.2.1 =
*Release Date - 05 November 2025*

* Updated comment counter to only list approved/active comments.

= 1.2.0 =
*Release Date - 04 November 2025*

* Added optional support for native WordPress comments on Microposts.
* New setting in **Settings > Microposts** to enable or disable comments.
* Micropost feed updated:
  - Shows comment icon with total comment count when comments are enabled.
  - "Link" text replaced with an SVG link icon.
* Updated styles and scripts to support the new icons and comment display.

= 1.1.3 =
*Release Date - 29 October 2025*

= 1.1.2 =
*Release Date - 26 October 2025*

= 1.1.0 =
*Release Date - 14 October 2025*

* Added automatic paragraph formatting ('wpautop()').
* Fixed HTML entity encoding in REST output.
* Improved hashtag rendering to ignore numeric HTML entities.
* Added Classic Editor enforcement for microposts.
* Minor UI adjustments to the feed display.
* Improved template management.
* Added pagination support in single template for SEO.

= 1.0.0 =
*Release Date - 12 October 2025*

* Initial public release with micropost post type, AJAX feed, REST API, hashtags, and infinite scroll.

== Upgrade Notice ==

= 1.1.0 =
Fixes content encoding and improves formatting; update recommended for all users.

== License ==

This plugin is free software: you can redistribute it and/or modify  
it under the terms of the GNU General Public License as published by  
the Free Software Foundation, either version 2 of the License, or  
(at your option) any later version.

This plugin is distributed in the hope that it will be useful,  
but WITHOUT ANY WARRANTY; without even the implied warranty of  
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
GNU General Public License for more details.

== Credits ==

Developed and maintained by [Michael Gbadebo @ Creotec Limited](https://www.creotec.com/).