Je travaille actuellement sur un site WordPress et chaque fois que je vais dans la page Apparence> Menus de l'administrateur, le message d'erreur suivant s'affiche:
ErrorException: Notice d'exécution: la déclaration de Walker_Nav_Menu_Edit :: start_lvl () doit être compatible avec celle de Walker_Nav_Menu :: start_lvl () dans la ligne wp-admin/includes/nav-menu.php
Cela ressemble à une sorte de problème de compatibilité PHP. J'utilise PHP 5.3.10 sur ma machine de développement locale.
Quel serait le meilleur moyen de remédier à ce problème?
De class Walker_Nav_Menu
:
function start_lvl( &$output, $depth = 0, $args = array() )
Votre classe enfant doit utiliser la même signature: trois arguments, le premier passé par référence. Chaque différence soulèvera l'erreur que vous avez.
Notez que $args
utilise par défaut un tableau vide, mais vous obtenez une instance de stdClass
, pas un tableau. C'est WordPress.
Walker_Nav_Menu
, remplacez ces lignesfunction start_el(&$output, $category, $depth, $args) {
à
function start_el(&$output, $category, $depth = 0, $args = array(), $current_object_id = 0) {
function end_lvl(&$output, $depth, $args) {
à
function end_lvl(&$output, $depth = 0, $args = array()) {
function start_lvl(&$output, $depth, $args) {
à
function start_lvl(&$output, $depth = 0, $args = array()) {
function end_el(&$output, $category, $depth, $args) {
à
function end_el(&$output, $category, $depth = 0, $args = array()) {