This page is the canonical index of every WordPress hook Wonderful Relations fires. Each row links to the dedicated page for that hook when one exists.
Plugin lifecycle
| Hook | Type | Fired when |
|---|---|---|
wonderful_relations_plugin_loaded | action | WR is fully booted (see Lifecycle Hooks) |
wonderful_relations_plugin_deactivated | action | WR is being deactivated or an update is pending |
load_wr_plugins_locales | action | Locale switch — children re-register their textdomain |
Self-registration
| Hook | Type | Notes |
|---|---|---|
register_new_action_type | action | ActionType constructor hooks itself in |
register_new_task | action | Task constructor hooks itself in |
wr_register_new_worker | action | WR_Worker constructor hooks itself in |
Forms
| Hook | Type | Page |
|---|---|---|
wr_form_view_add_scripts | filter | wr_form_view_add_scripts |
wr_form_view_modify_html_object | filter | wr_form_view_modify_html_object |
wr_form_builder_modify_entry_id | filter | wr_form_builder_modify_entry_id |
wr_form_builder_modify_form_object | filter | wr_form_builder_modify_form_object |
wr_form_builder_set_prefill_data | filter | wr_form_builder_set_prefill_data |
wr_form_modify_settings | filter | wr_form_modify_settings |
wr_form_should_not_be_loaded | filter | wr_form_should_not_be_loaded |
wr_form_factory_modify_form_fields | filter | wr_form_factory_modify_form_fields |
wr_form_field_modify_select_options | filter | wr_form_field_modify_select_options |
wr_form_field_modify_settings | filter | wr_form_field_modify_settings |
wr_form_field_summernote_editor_toolbar | filter | wr_form_field_summernote_editor_toolbar |
wr_form_dynamic_data_load_options_by_filter | filter | wr_form_dynamic_data_load_options_by_filter |
wr_max_number_of_links_reached_filter | filter | wr_max_number_of_links_reached_filter |
wr_max_number_of_links_reached_text_filter | filter | wr_max_number_of_links_reached_text_filter |
wr_form_fields_after_entry_load | filter | wr_form_fields_after_entry_load |
wr_form_entry_missing_entry_id_message | filter | wr_form_entry_missing_entry_id_message |
wr_form_external_save | action | wr_form_external_save |
DataTables
| Hook | Type | Page |
|---|---|---|
wr_DataTable_responsive_filter | filter | wr_DataTable_responsive_filter |
wr_datatable_as_file_filename | filter | wr_datatable_as_file_filename |
wr_datatable_column_after_translation | filter | wr_datatable_column_after_translation |
wr_datatable_filter_select_options | filter | wr_datatable_filter_select_options |
Queries
| Hook | Type | Page |
|---|---|---|
wr_query_replace_placeholder | filter | wr_query_replace_placeholder |
wr_query_view_cache_invalidated | action | wr_query_view_cache_invalidated |
Templates
| Hook | Type | Page |
|---|---|---|
wr_get_template_locale | filter | wr_get_template_locale |
wr_template_modify_payload | filter | wr_template_modify_payload |
wr_template_modify_TemplateRequest_selector | filter | wr_template_modify_TemplateRequest_selector |
wr_template_object_modify_data | filter | wr_template_object_modify_data |
wr_template_object_replace_query | filter | wr_template_object_replace_query |
wr_template_replace_value | filter | wr_template_replace_value |
wr_template_translation_value | filter | wr_template_translation_value |
wr_tb_add_children_to_template_object_flag | filter | wr_tb_add_children_to_template_object_flag |
wr_template_use_shell_assets | filter | wr_template_use_shell_assets |
PDF Templates
| Hook | Type | Page |
|---|---|---|
modify_PDF_model_before_pdf_generation | filter | modify_PDF_model_before_pdf_generation |
wr_pdf_template_container_css | filter | wr_pdf_template_container_css |
wr_pdf_template_container_pdf_file | filter | wr_pdf_template_container_pdf_file |
wr_pdf_template_filename | filter | wr_pdf_template_filename |
wr_pdf_template_modify_response | filter | wr_pdf_template_modify_response |
wr_pdf_template_mpdf_before_write | filter | wr_pdf_template_mpdf_before_write |
wr_pdf_template_mpdf_config | filter | wr_pdf_template_mpdf_config |
wr_pdf_template_pdf_page_modify_html | filter | wr_pdf_template_pdf_page_modify_html |
wr_pdf_template_template_path | filter | wr_pdf_template_template_path |
Data Bundles
| Hook | Type | Page |
|---|---|---|
wr_bundle_imported | action | wr_bundle_imported |
wr_bundle_synced | action | wr_bundle_synced |
wr_bundle_bootstrap_written | action | wr_bundle_bootstrap_written |
wr_bundle_bootstrap_backup_enabled | filter | wr_bundle_bootstrap_backup_enabled |
Data storage
| Hook | Type | Page |
|---|---|---|
wr_backend_metadata_saved | action | wr_backend_metadata_saved |
Performance
| Hook | Type | Page |
|---|---|---|
wr_perf_handlers | filter | wr_perf_handlers |
wr_perf_trace | action | wr_perf_trace |
Render plan (advanced)
These hooks belong to the Hot/Native renderer pipeline introduced with Data Storage 2.0. Most child plugins do not need to touch them — they exist so plugins that ship custom shortcodes or override compile rules can stay compatible with the cached render plan.
| Hook | Type | Notes |
|---|---|---|
wr_render_plan_compile_identifiers | filter | Identifiers the compiler walks |
wr_render_plan_compile_on_sync | filter | Opt sync-time recompile in/out |
wr_render_plan_compile_after_bootstrap_sync | filter | Late recompile gate |
wr_render_plan_extra_safe_shortcode_prefixes | filter | Whitelist additional shortcode prefixes for cached renders |
wr_render_plan_flush_on_sync | filter | Force a plan flush on sync |
wr_render_plan_form_lock_check | filter | Lock-aware compile gate |
wr_render_plan_fallback | action | Bridge fired when compiled plan misses |
wr_render_bridge_used | action | Telemetry — fired when the legacy bridge serves a render |
wr_render_plan_form_uncacheable | filter | wr_render_plan_form_uncacheable |
wr_render_plan_nonce_aware_form_cache | filter | wr_render_plan_nonce_aware_form_cache |
wr_render_plan_prewarm_queries | filter | wr_render_plan_prewarm_queries |
wr_render_plan_prewarm_all_known_queries | filter | wr_render_plan_prewarm_all_known_queries |
