PHP-Hinweis: Undefinierter Offset: 0 in /wordpress/wp-includes/plugin.php und Registrierungseinstellungen API ändern

Fehler des folgenden Typs traten bei einem Plug-in auf, das auf WordPress v4.6.x ausgeführt und bei einem Aufruf von register_setting () isoliert wurde.

[02-Nov-2017 00:55:35 UTC] PHP Notice: Undefined offset: 0 in /wordpress/wp-includes/plugin.php on line 981 [02-Nov-2017 00:55:35 UTC] PHP Notice: Undefined offset: 0 in /wordpress/wp-includes/plugin.php on line 999 

Was gibt?

Ähnliche, aber andere Ursache als Plugin.php: PHP Hinweis: Undefinierter Offset: 0 in

Solutions Collecting From Web of "PHP-Hinweis: Undefinierter Offset: 0 in /wordpress/wp-includes/plugin.php und Registrierungseinstellungen API ändern"

https://make.wordpress.org/core/2016/10/26/registering-your-settings-in-wordpress-4-7/

Die functionssignatur register_setting () wurde in Version 4.7 geändert, wodurch in früheren Versionen ein Array für die dritte Option anstelle einer Callback-function zugelassen wurde. Das Übergeben eines Arrays an register_setting () in WordPress v4.6.x und früher führt zu den oben genannten Fehlern.

WordPress v4.6.8 functionsdefinition: https://github.com/WordPress/WordPress/blob/1aa173010736085a921beb10fd420d6d863419a5/wp-admin/includes/plugin.php#L1767-L1795

 /** * Register a setting and its sanitization callback * * @since 2.7.0 * * @global array $new_whitelist_options * * @param string $option_group A settings group name. Should correspond to a whitelisted option key name. * Default whitelisted option key names include "general," "discussion," and "reading," among others. * @param string $option_name The name of an option to sanitize and save. * @param callable $sanitize_callback A callback function that sanitizes the option's value. */