=== Anywhere Blocks by Shortcode ===
Contributors: codersaiful
Donate link: https://profiles.wordpress.org/codersaiful/
Tags: gutenberg blocks shortcode, gutenberg blocks anywhere, block template, shortcode, block editor
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 8.0
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Display Gutenberg blocks using shortcode anywhere on your site. Create reusable block templates and embed them with simple shortcodes.

== Description ==

**Anywhere Blocks by Shortcode** is a powerful WordPress plugin that allows you to create reusable Gutenberg block templates and display them anywhere on your website using simple shortcodes.

= Key Features =

* **Block Template System**: Create custom block templates using the full Gutenberg editor
* **Simple Shortcode Integration**: Display your block templates anywhere with `[anbsg_block id='123']`
* **Gutenberg Editor Integration**: Built-in shortcode panel in the block editor for easy copying
* **Custom Post Type**: Dedicated "Block Templates" post type for organized management
* **Admin Interface**: Clean admin interface with shortcode column for quick access
* **Developer Friendly**: Clean, well-documented code with proper namespacing and autoloading

= How It Works =

1. **Create Block Templates**: Navigate to "Block Templates" in your WordPress admin and create new templates using the Gutenberg editor
2. **Get Your Shortcode**: Copy the generated shortcode from the admin list or the editor sidebar panel
3. **Use Anywhere**: Paste the shortcode in any post, page, widget, or template file

= Shortcode Usage =

Basic usage:
`[anbsg_block id='123']`

Alternative parameters:
`[anbsg_block template_id='123']`
`[anbsg_block post_id='123']`

= Perfect For =

* **Reusable Content Blocks**: Create once, use everywhere
* **Marketing Sections**: Call-to-action blocks, promotional banners
* **Product Showcases**: Product grids, testimonials, feature lists
* **Footer Content**: Complex footer layouts with blocks
* **Widget Areas**: Advanced widget content using blocks
* **Template Parts**: Reusable sections for themes and page builders

= Developer Features =

* **Clean Architecture**: Namespaced classes with PSR-4 autoloading
* **Extensible**: Action and filter hooks for customization
* **Performance Optimized**: Efficient loading and minimal resource usage
* **WordPress Standards**: Follows WordPress coding standards and best practices

== Installation ==

= Automatic Installation =

1. Login to your WordPress admin panel
2. Navigate to Plugins → Add New
3. Search for "Anywhere Blocks by Shortcode"
4. Click "Install Now" and then "Activate"

= Manual Installation =

1. Download the plugin zip file
2. Login to your WordPress admin panel
3. Navigate to Plugins → Add New → Upload Plugin
4. Choose the downloaded zip file and click "Install Now"
5. Activate the plugin

= From Source =

1. Upload the `anywhere-blocks-shortcode` folder to the `/wp-content/plugins/` directory
2. Activate the plugin through the 'Plugins' menu in WordPress

== Usage ==

= Creating Block Templates =

1. Go to **Block Templates** in your WordPress admin menu
2. Click **Add New** to create a new block template
3. Use the Gutenberg editor to design your content with any blocks
4. Publish the template
5. Copy the shortcode from the list view or editor sidebar

= Using Shortcodes =

**In Posts/Pages:**
Simply paste the shortcode in the content editor:
`[anbsg_block id='123']`

**In Widgets:**
Add a "Custom HTML" widget and insert the shortcode.

**In Template Files:**
Use the `do_shortcode()` function:
`<?php echo do_shortcode('[anbsg_block id="123"]'); ?>`

**In Page Builders:**
Most page builders support shortcodes in their text/HTML elements.

= Editor Integration =

When editing a block template, you'll see a "Shortcode" panel in the document settings sidebar. This panel:
* Displays the current shortcode for the template
* Includes a "Copy Shortcode" button for quick copying
* Updates automatically with the post title

== Frequently Asked Questions ==

= Can I use any Gutenberg blocks in my templates? =

Yes! The plugin supports all Gutenberg blocks, including core blocks, third-party blocks, and custom blocks.

= Will shortcodes work in widgets? =

Yes, shortcodes work in text widgets, custom HTML widgets, and most widget areas that support HTML content.

= Can I use the same template multiple times on one page? =

Absolutely! You can use the same shortcode multiple times on the same page without any issues.

= Does this work with page builders? =

Yes, most page builders (Elementor, Beaver Builder, Divi, etc.) support shortcodes in their text/HTML elements.

= Can I pass custom parameters to shortcodes? =

Currently, the plugin supports `id`, `template_id`, and `post_id` parameters. Additional parameters may be added in future versions.

= Is this plugin compatible with multisite? =

Yes, the plugin works on both single-site and multisite WordPress installations.

= Will this slow down my site? =

No, the plugin is optimized for performance and only loads necessary resources when needed.

== Screenshots ==

1. **Block Templates Admin**: Manage your block templates with easy-to-copy shortcodes
2. **Gutenberg Editor**: Create rich content using any Gutenberg blocks
3. **Shortcode Panel**: Built-in shortcode panel in the editor sidebar
4. **Frontend Display**: Clean rendering of block content via shortcodes

== Changelog ==

= 1.0.1 =
* Issue fixed based on Plugin Support Team feedback
* Bug fixes and performance improvements

= 1.0.0 =
* Initial release
* Block template custom post type
* Shortcode rendering system
* Gutenberg editor integration
* Admin interface with shortcode column
* Autoloader and clean architecture
* WordPress 6.8 compatibility

== Upgrade Notice ==

= 1.0.0 =
Initial release of Anywhere Blocks by Shortcode.

== Technical Details ==

= System Requirements =
* WordPress 6.2 or higher
* PHP 8.0 or higher
* Gutenberg editor (Block Editor)

= File Structure =
```
anywhere-blocks-shortcode/
├── anywhere-blocks-shortcode.php (Main plugin file)
├── autoloader.php (PSR-4 autoloader)
├── app/
│   ├── base.php (Base class)
│   └── functions.php (Utility functions)
├── view/
│   ├── loader.php (View loader)
│   ├── cpt.php (Custom post type)
│   └── shortcode.php (Shortcode handler)
├── src/
│   ├── index.js (Main JavaScript)
│   └── sidebar/ (Editor sidebar components)
└── build/ (Compiled assets)
```

= Hooks and Filters =

**Actions:**
* `init` - Registers custom post type
* `plugins_loaded` - Initializes plugin
* `enqueue_block_editor_assets` - Loads editor scripts

**Filters:**
* `the_content` - Processes block content
* `manage_{post_type}_posts_columns` - Adds shortcode column
* Template filters for custom rendering

= Developer Notes =

The plugin follows WordPress coding standards and uses:
* Namespaced classes (`ANBS_Block_Shortcode`)
* PSR-4 autoloading
* Clean separation of concerns
* Proper sanitization and validation
* WordPress REST API compatibility

== Support ==

For support, feature requests, or bug reports, please visit:
* Plugin URI: https://wordpress.org/plugins/anywhere-blocks-shortcode/
* Author Profile: https://profiles.wordpress.org/codersaiful/

== Credits ==

Developed by **Saiful Islam** (codersaiful)
* Profile: https://profiles.wordpress.org/codersaiful/
* Email: codersaiful@gmail.com

Special thanks to the WordPress community and Gutenberg development team.
