=== Attributes User Access ===
Contributors: attributeswp
Tags: authentication, login, security, access control
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
Stable tag: 1.2.0
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Attributes User Access is a lightweight and flexible authentication solution for WordPress designed for greater control over login processes.

== Description ==

Attributes User Access is designed to provide an advanced yet lightweight authentication solution for WordPress. It empowers site administrators with detailed control over login processes, enhancing user authentication and access experience.

==Core Features==

#### Custom Login Page Creation:
- Generate fully integrated login pages with WordPress.
- Use shortcode-based forms for easy theme compatibility.
- Automatically adapts to WordPress core updates.

#### Flexible Login Redirection:
- Redirect native WordPress login requests.
- Define role-based and context-aware redirection rules.

#### Developer-Focused Architecture:
- PSR-4 autoloading and object-oriented design.
- Extensible with action and filter hooks.
- Modular components for easy customization.

#### Performance Optimization:
- Load scripts selectively to minimize impact.
- Use transients for caching and improved efficiency.
- Deploy minified assets with source mapping for production.

== Shortcode Usage ==

#### Basic login form:
`[attributes_login_form]`

#### With parameters:
`[attributes_login_form redirect="/dashboard" remember="false"]`

#### Available parameters:
- `redirect`,  Target URL after login *(default : Dashboard)*
- `remember`, Show "Remember Me" checkbox *(default :  true)*
- `form_id`,  Custom form identifier *(default: attributes_login_form)*


== Custom Template Override ==

Create a directory structure in your theme to mirror the plugin's template location: `your-theme/attributes/front/forms/login-form.php`

Copy the original template from the plugin (`templates/front/forms/login-form.php`) to your theme's directory as a starting point. Customize the template as needed.

The plugin uses a well-structured template with hooks that you can leverage:

- `attrua_login_form_fields` - Add custom fields to the form
- `attrua_after_login_form` - Add content after the form

== Developer Hooks Reference ==

### Available Actions:
- `attrua_before_login_form` - Fires before rendering the login form
- `attrua_after_login_form` - Fires after rendering the login form  
- `attrua_login_failed` - Fires when a login attempt fails
- `attrua_successful_login` - Fires after successful authentication

### Available Filters:
- `attrua_login_form_fields` - Modify the login form fields
- `attrua_login_redirect` - Customize login redirection
- `attrua_login_error_message` - Modify login error messages

== Installation ==

### Standard Installation:
1. Upload the `attributes-user-access` folder to `/wp-content/plugins/`
2. Activate the plugin via Plugins in WordPress.
3. Navigate to User Access in the WordPress admin panel.
4. Configure the settings and create authentication pages.

### Manual Installation:
1. Download the plugin ZIP file.
2. Log in to your WordPress admin panel.
3. Go to Plugins > Add New and upload the ZIP file.
4. Activate and configure the plugin.

### Minimum Requirements
- WordPress 5.8 or higher
- PHP 7.4 or higher
- MySQL 5.6 or higher
- JavaScript-enabled browser

### Configuration
#### Creating a Custom Login Page
1. Go to Login Settings in WordPress Admin.
2. Click Create Page to generate a login page.
3. The page automatically includes a login form via shortcode.
4. Customize the page title and slug as needed.

#### Setting Up Login Redirection
1. Enable redirection to override the default WordPress login page.
2. Set up custom redirection rules (e.g., redirect users to a specific page after login).
3. Use hooks and filters to extend redirection logic.

== Frequently Asked Questions ==

= Is this plugin compatible with my theme? =
Yes, Attributes User Access is designed to work with any properly coded WordPress theme.

= Can I customize the login form design? =
**Yes! You can:**
1. Use CSS to override styles.
2. Modify form output with filters.
3. Override templates in your theme for full customization.

= How can I extend the plugin? =
Developers can extend functionality using:
- WordPress action and filter hooks.
- Custom template overrides.
- Add-on plugin development.
- Premium feature integrations.

== Changelog ==

= 1.2.0 =
* Enhancement: Improved plugin performance and stability
* Enhancement: Optimized codebase for better security
* Enhancement: Enhanced production readiness
* Enhancement: Better error handling and validation
* Enhancement: Improved code organization and structure
* Update: Comprehensive documentation updates
* Update: Enhanced user experience and reliability

= 1.1.0 =
* Enhancement: Added template override system for themes
* Enhancement: Improved security with better nonce validation
* Enhancement: Added custom logout handling endpoint
* Feature: New Extension Manager for add-on support
* Feature: Enhanced settings management with dot notation
* Feature: Added password visibility toggle
* Feature: Improved admin interface with notifications
* Feature: Added shortcode copying functionality
* Improvement: Better accessibility with ARIA support
* Improvement: Added dark mode support
* Improvement: Enhanced responsive design
* Improvement: Better error handling and user feedback

= 1.0.0 =
* Initial release.
* Custom login page generation.
* Role-based redirection system.

== Upgrade Notice ==

= 1.2.0 =
Stability and performance update: Enhanced security, improved reliability, and optimized codebase for better user experience.

= 1.1.0 =
Major feature update: Enhanced template system, improved security, and new extension management capabilities.

= 1.0.0 =
Initial release: Provides custom authentication pages, secure login management, and advanced redirection.

== Support ==

- Documentation: [https://attributeswp.com/docs](https://attributeswp.com/docs)
- GitHub Issues: [https://github.com/attributeswp/attributes-user-access/issues](https://github.com/attributeswp/attributes-user-access/issues)  
- Support Forums: [https://wordpress.org/support/plugin/attributes-user-access](https://wordpress.org/support/plugin/attributes-user-access)

== Screenshots ==
1. User Access settings page
2. Active custom login page.
3. Enable custom login redirection.
4. Login page Status Label.
5. Default Login page template.