Files

4.2 KiB

PC Announcements 274

A comprehensive WordPress plugin for creating and managing announcements that display at the top of public pages with scheduling capabilities.

Features

  • Admin Management: Create, edit, delete, and schedule announcements through an intuitive admin interface
  • Scheduling: Set start and end dates for announcements with automatic activation/deactivation
  • Modern Frontend Display: Responsive, accessible announcement banners with smooth animations
  • Security: Built with WordPress security best practices including nonce verification and capability checks
  • Customizable: Easily styled with CSS custom properties and modern design patterns
  • Mobile Responsive: Optimized for all screen sizes with mobile-first approach

Installation

  1. Upload the pc-announcements-274 folder to your WordPress /wp-content/plugins/ directory
  2. Activate the plugin through the WordPress admin "Plugins" menu
  3. Navigate to "Announcements" in the WordPress admin to create your first announcement

Usage

Creating Announcements

  1. Go to Announcements → Add New in the WordPress admin
  2. Enter a title and message for your announcement
  3. Optionally add an image URL
  4. Set scheduling dates (start/end) if needed
  5. Set the status (active, inactive, or scheduled)
  6. Click "Create Announcement"

Managing Announcements

  • View all announcements at Announcements → All Announcements
  • Edit existing announcements by clicking the "Edit" button
  • Delete announcements using the "Delete" button with confirmation
  • See real-time status indicators for active announcements

Frontend Display

Announcements automatically appear at the top of all public pages when:

  • The announcement status is set to "Active"
  • The current time is within the scheduled start and end dates
  • The announcement hasn't been dismissed by the user

Customization

CSS Custom Properties

You can customize the appearance using these CSS variables:

:root {
    --pc-announcements-274-bg-primary: #0d47a1;
    --pc-announcements-274-bg-secondary: #1565c0;
    --pc-announcements-274-text-primary: #ffffff;
    --pc-announcements-274-text-secondary: rgba(255, 255, 255, 0.9);
    --pc-announcements-274-border-radius: 8px;
    --pc-announcements-274-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto;
}

Theme Variations

Add these classes to customize appearance:

  • .pc-announcements-274-success - Green theme
  • .pc-announcements-274-warning - Orange theme
  • .pc-announcements-274-error - Red theme
  • .pc-announcements-274-info - Light blue theme
  • .pc-announcements-274-compact - Smaller, compact version
  • .pc-announcements-274-no-image - Hide image and optimize layout

Security Features

  • Capability Checks: Only administrators can manage announcements
  • Nonce Verification: All AJAX requests protected with WordPress nonces
  • Input Sanitization: All user inputs properly sanitized and escaped
  • Database Security: Prepared statements used for all database operations
  • CSRF Protection: Built-in CSRF protection for form submissions

Accessibility

  • WCAG 2.1 AA compliant design
  • Keyboard navigation support
  • Screen reader compatibility
  • High contrast mode support
  • Reduced motion preferences respected
  • Focus management for dynamic content

Browser Support

  • Chrome 60+
  • Firefox 55+
  • Safari 12+
  • Edge 79+
  • Mobile browsers (iOS Safari 12+, Android Chrome 60+)

Technical Details

  • PHP Version: 7.4+
  • WordPress Version: 5.0+
  • Database: Uses custom table with proper indexing
  • Performance: Optimized queries with caching considerations
  • Memory: Minimal memory footprint
  • Standards: Follows WordPress coding standards and best practices

Changelog

Version 1.0.0

  • Initial release
  • Core announcement management functionality
  • Admin interface with CRUD operations
  • Frontend display with responsive design
  • Scheduling and status management
  • Security and accessibility features

Support

For support, documentation, and updates:

License

This plugin is licensed under the GPL-2.0-or-later license.