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.