WordPress 7.1 bietet vier neue Filter, um das Ausführungsverhalten von Fähigkeiten im Abilities API zu anpassen. Diese neuen Möglichkeiten ermöglichen es Entwicklern, die Ausführung von Fähigkeiten zu beeinflussen.
Neue Filter:
- wp_pre_execute_ability: Erlaubt das Abbrechen der Ausführung vor der Normalisierung und Validierung des Eingabewerts.
- wp_ability_normalize_input: Lässt Entwicklern den Eingabewert normalisieren oder transformieren, bevor er validiert wird.
- wp_ability_permission_result: Permettiert zusätzliche Autorisierungspolitiken und die Transformation oder Wiederherstellung des Ausführungsresultats.
- wp_ability_execute_result: Erlaubt das Transformieren oder Wiederherstellen des Ergebnisses nach der Ausführung.
Diese Filter werden im folgenden Order angewendet:
- wp_pre_execute_ability
- Normalisierung des Eingabewerts mit WP_Ability::normalize_input()
- wp_ability_normalize_input
- Input-Validierung mit WP_Ability::validate_input()
- Autorisierungsprüfung mit WP_Ability::check_permissions()
- wp_ability_permission_result
- wp_before_execute_ability
- Ausführungs-Aufruf
- wp_ability_execute_result
- Output-Validierung mit WP_Ability::validate_output()
- wp_after_execute_ability
Die Input- und Output-Transformationen erfolgen vor der Schema-Validation. Veränderte Werte müssen daher immer noch den registrierten Schemas entsprechen, außer bei wp_pre_execute_ability, die das restliche Pipeline-Schema überspringt.
Abbrechen der Ausführung mit wp_pre_execute_ability:
Dieser Filter läuft am Anfang von WP_Ability::execute(), bevor Eingabewerte normalisiert, validiert oder autorisiert werden. Wenn er eine Umleitung zurückgibt, kann die Ausführung abgebrochen werden:
apply_filters( ‘wp_pre_execute_ability’, $pre, $ability_name, $input, $ability );
Das Rückgeben von $pre unverändert ermöglicht die fortgesetzte Ausführung. Das Rückgeben eines anderen Wertes beendet die Ausführung und liefert diesen Wert direkt an den Aufrufer zurück.
Die Filter können für Caching, Rate Limiting, Wartungsmodus, Genehmigungsflussarbeiten und Test-Mocking verwendet werden.
Insgesamt verbessern diese neuen Filter die Flexibilität der Abilities API in WordPress 7.1 und erlauben eine präzisere Steuerung des Ausführungsverhaltens von Fähigkeiten.
Quelle: make.wordpress.org