RatePress
RatePress Docs

Getting Started

  • Introduction
  • Getting Started

Core Features

  • Rating System
  • Templates
  • Blocks & Shortcodes

Advanced Features

  • Notifications
  • Confetti Effects

Languages

  • Translation System

Developer Guide

  • Architecture
  • API Reference
GitHubLive Demos

RatePress

The modern rating plugin for WordPress. Built with clean architecture, designed for performance, and loved by developers.

Documentation

  • Get Started
  • Technical Architecture
  • Templates
  • Translations

Resources

  • Download
  • Support
  • Contact
  • Review Us

© 2025 RatePress. All rights reserved.

Made with passion by Code Idealists

RatePress Architecture Deep Dive

A comprehensive technical overview of RatePress's modern architecture, from database design to React-based admin panels and extensible systems.

2025 EditionWordPress PluginHeadless-First
Core Philosophy

RatePress is built on the principle of "headless-first, WordPress-native". This means:

Category-Based Rating System

Flexible rating types (binary, bipolar, scale) instead of hardcoded like/dislike/star

REST API by Default

All functionality is accessible via API for headless implementations

Shared Core Architecture

Single codebase with version-aware initialization for Free/Pro variants

Template System

Pluggable rendering for maximum flexibility and customization

Database Design
TablePurposeKey Features
wp_ratepress_ratingsMain ratings storageFlexible categories, indexed queries, analytics-ready
wp_ratepress_analyticsPro feature analyticsUser behavior tracking, performance metrics
wp_optionsSettings storageVersion-aware configuration, feature flags

Main Ratings Table Schema

Rating Types Architecture

RatePress uses a category-based system where each rating type is defined by its category and value constraints.

Binary

Simple like/dislike system

Values: 0, 1
Bipolar

Like/dislike with neutral option

Values: -1, 0, 1
Scale

Continuous rating scale

Values: 0.0 - 1.0

Rating Model Implementation

REST API Architecture

RatePress provides a comprehensive REST API for headless implementations and integrations.

EndpointMethodPurpose
/wp-json/ratepress/v1/ratePOSTSubmit a rating
/wp-json/ratepress/v1/stats/{id}GETGet rating statistics
/wp-json/ratepress/v1/templatesGETList available templates
/wp-json/ratepress/v1/previewPOSTGet preview for block editor

API Implementation

React-Based Admin Panel

RatePress features a modern, React-powered admin interface built with contemporary web technologies.

Technology Stack

React 18Modern component architecture
TypeScriptType-safe development
Tailwind CSSUtility-first styling
@wordpress/componentsWordPress component library

Key Features

  • • Real-time analytics dashboard
  • • Template browser & installer
  • • Advanced rating management
  • • Multi-language support
  • • Settings management with change tracking

Admin Panel Structure

Template System

RatePress features a pluggable template system for maximum flexibility and customization.

Template Structure

template-name/
├── config.php
├── render.php
├── style.css
└── script.js

Template Categories

Binary (Love/Bookmark)Heart, Thumbs, etc.
Bipolar (Like/Dislike)Thumbs Up/Down
Scale (Star Ratings)1-5 Stars, Dots
Multilingual Support

RatePress supports comprehensive internationalization through remote translation repositories.

Translation Files

File TypePurpose
.potTemplate file
.poSource translations
.moCompiled binary
.jsonReact/JS translations

Language Loader

Bootstrap Architecture

RatePress uses a version-aware bootstrap system that initializes all components based on the plugin variant.

Bootstrap Pattern

\RatePress\Bootstrap::init('free|pro')
  • • Initializes all components
  • • Version-aware loading
  • • Hook registration

Component Classes

  • AdminPanel: Settings, tabs, UI
  • Frontend: Shortcodes, blocks, rendering
  • RatingModel: DB operations
  • TemplateManager: Template registration/rendering
  • API: REST endpoints

Bootstrap Implementation

Performance Optimizations
  • • Conditional asset loading based on page content
  • • Indexed database queries for fast lookups
  • • Transient caching for aggregated statistics
  • • AJAX voting to avoid page reloads
  • • Minified CSS/JS with cache busting
Security Architecture
  • • Nonce verification for all AJAX requests
  • • Prepared statements for database queries
  • • Input sanitization and validation
  • • IP-based rate limiting (configurable)
  • • Capability checks for admin access

Ready to Build with RatePress?

RatePress's modern architecture makes it easy to extend, customize, and integrate into any WordPress project.

Get StartedBrowse TemplatesContribute Translations