Neue Funktionen der Abilities API in WordPress 7.1

WordPress 7.1 bringt erhebliche Verbesserungen für die Abilities API, eine zentrale Komponente zur Steuerung von Fähigkeiten und Berechtigungen im Core.

Custom Input- und Output-Validierung

Die neuen Filter wp_ability_validate_input und wp_ability_validate_output ermöglichen die Erweiterung der Validierungsprozesse. Diese Funktionen erlauben es, zusätzliche Regeln hinzuzufügen, die nicht durch das JSON-Schema implementiert werden können.

Beispiel:

<?php
add_filter( ‘wp_ability_validate_input’, function ( $is_valid, $input, $ability_name ) {
if ( ‘my-plugin/send-message’ !== $ability_name ) {
return $is_valid;
}
// Erweitere Validierung.
if ( ! is_array( $input ) || empty( $input[‘recipient’] ) || ! str_ends_with( $input[‘recipient’], ‘@example.com’ ) ) {
return new WP_Error( ‘invalid_recipient’, __( ‘The recipient must use the example.com domain.’, ‘my-plugin’ ) );
}
return true;
}, 10, 3 );

Jede Fähigkeitsaufrufbeobachtung

Die neue wp_ability_invoked-Aktion ermöglicht die Aufzeichnung jedes Aufrufs einer Fähigkeit, unabhängig davon, ob der Input gültig ist oder die Berechtigung zustande kommt.

Beispiel:

<?php
add_action( ‘wp_ability_invoked’, function ( $ability_name, $input, $ability ) {
// Vermeidung der Speicherung sensibler Daten ohne angemessene Filterung.
do_action( ‘my_plugin_record_ability_invocation’, array(
‘ability’ => $ability_name,
‘timestamp’ => time(),
) );
}, 10, 3 );

Diese Verbesserungen helfen bei der Überwachung und Analyse von Fähigkeiten, was für die Entwicklung und den Betrieb von WordPress-Plugins von großer Bedeutung ist.

Quelle: make.wordpress.org