Function: Replacing Values
Generated queries in Wonderful Relations use placeholders instead of fixed values. During query execution, these placeholders are dynamically replaced with actual values provided by filters, system variables, user data, or plugins.
This approach allows for dynamic, reusable, and secure queries, reducing the need for manually modifying SQL strings.
Default Placeholders
User Role
The WordPress user role, as defined in master data (default: 99
if logged out):
##wp_userrole##
User ID
The currently logged-in WordPress user ID (0
if not logged in):
##user_id##
Language
The current system language (default: de
):
##language##
Custom Placeholder
Custom placeholders can be added via the filter hook wr_query_replace_placeholder. This allows developers to inject global or system-wide replacements into queries without modifying the query definitions directly.
Internal Processing
- The
Replace
class handles all value replacements before executing the query. - Filters & system variables inject user data, environment variables, or session-based values.
- Escaping & validation ensure security when replacing values inside SQL statements.
Summary
✅ Enables dynamic queries with flexible value injection
✅ Supports user roles, IDs, and language-based filtering
✅ Allows custom placeholders via WordPress filters
✅ Ensures security with escaping and validation
Replacing values is an essential feature of Wonderful Relations, making queries more reusable, customizable, and secure.