J'utilise WP 3.5.1 et j'ai un menu avec environ 100 éléments. Lorsque j'ajoute de nouveaux éléments au menu, les anciens disparaissent.
Je ne suis pas en cours d'exécution Suhosin ou similaire. Quelle peut être la cause?
Remarque: je suis sur un serveur dédié.
Ce qui suit a fonctionné pour certains utilisateurs avec un problème similaire:
Essayez d’augmenter la valeur de la variable max_input_vars
dans php.ini
. Cette variable a été introduite dans PHP version 5.3.9
et a la valeur par défaut 1000
.
Vous pouvez en savoir plus à ce sujet dans la documentation PHP:
http://php.net/manual/en/info.configuration.php
max_input_vars 1000 PHP_INI_PERDIR Available since PHP 5.3.9.
Nombre de variables d'entrée pouvant être acceptées (la limite est appliquée séparément à $ _GET, $ _POST et $ _COOKIE superglobal). L'utilisation de cette directive atténue la possibilité d'attaques par déni de service utilisant des collisions de hachage.
Vous pouvez essayer de l’augmenter à 1500
ou 2000
.
En utilisant les données ci-dessous, nous pouvons essayer d’estimer combien de variables POST nous envoyons, en fonction d’un certain nombre d’éléments de menu, lorsque nous appuyons sur le bouton Save Menu
.
Il semble que:
"number of POST variables" = 11 * "number of menu items" + 9
qui est équivalent à la ligne:
y=11x+9
Ensuite, nous pouvons construire le tableau suivant:
Dans votre cas, nous voyons que si vous devez enregistrer les éléments de menu 100
, vous devez envoyer des variables 1109
_ POST, de sorte que votre max_input_vars
doit être au moins 1109
.
De même lorsque nous ajoutons des éléments au menu (via Ajax POST)
on a
"number of POST variables" = 10 * "number of menu items" + 3
quelle est la ligne:
y=10x+3
Le tableau de données correspondant est:
Lorsque nous ajoutons des éléments de menu 10
, nous envoyons des variables 103
POST.
Juste pour vous montrer la quantité de données $_POST
lorsque je sauvegarde mon menu avec uniquement des éléments 5
:
Array
(
[menu-name] => simple_menu
[save_menu] => Save Menu
[closedpostboxesnonce] => xxxxxxxxxx
[meta-box-order-nonce] => xxxxxxxxxx
[update-nav-menu-nonce] => xxxxxxxxxx
[_wp_http_referer] => /dev/wp-admin/nav-menus.php
[action] => update
[menu] => 58
[menu-item-title] => Array
(
[1135] => home
[1131] => page1
[1130] => page2
[1132] => page3
[1133] => page4
)
[menu-item-attr-title] => Array
(
[1135] =>
[1131] =>
[1130] =>
[1132] =>
[1133] =>
)
[menu-item-classes] => Array
(
[1135] =>
[1131] =>
[1130] =>
[1132] =>
[1133] =>
)
[menu-item-xfn] => Array
(
[1135] =>
[1131] =>
[1130] =>
[1132] =>
[1133] =>
)
[menu-item-description] => Array
(
[1135] =>
[1131] =>
[1130] =>
[1132] =>
[1133] =>
)
[menu-item-db-id] => Array
(
[1135] => 1135
[1131] => 1131
[1130] => 1130
[1132] => 1132
[1133] => 1133
)
[menu-item-object-id] => Array
(
[1135] => 477
[1131] => 1020
[1130] => 1028
[1132] => 791
[1133] => 603
)
[menu-item-object] => Array
(
[1135] => page
[1131] => page
[1130] => page
[1132] => page
[1133] => page
)
[menu-item-parent-id] => Array
(
[1135] => 0
[1131] => 0
[1130] => 1131
[1132] => 1131
[1133] => 0
)
[menu-item-position] => Array
(
[1135] => 1
[1131] => 2
[1130] => 3
[1132] => 4
[1133] => 5
)
[menu-item-type] => Array
(
[1135] => post_type
[1131] => post_type
[1130] => post_type
[1132] => post_type
[1133] => post_type
)
[menu-locations] => Array
(
[primary] => 0
)
)
Lorsque j'ajoute des éléments 3
à leur menu, les données POST
sont:
Array
(
[action] => add-menu-item
[menu] => 58
[menu-settings-column-nonce] => xxxxxxxxxx
[menu-item] => Array
(
[-56] => Array
(
[menu-item-object-id] => 1728
[menu-item-db-id] => 0
[menu-item-object] => page
[menu-item-parent-id] => 0
[menu-item-type] => post_type
[menu-item-title] => Page 1
[menu-item-url] => http://example.com/page1/
[menu-item-target] =>
[menu-item-classes] =>
[menu-item-xfn] =>
)
[-57] => Array
(
[menu-item-object-id] => 1724
[menu-item-db-id] => 0
[menu-item-object] => page
[menu-item-parent-id] => 0
[menu-item-type] => post_type
[menu-item-title] => Page 3
[menu-item-url] => http://example.com/page2/
[menu-item-target] =>
[menu-item-classes] =>
[menu-item-xfn] =>
)
[-59] => Array
(
[menu-item-object-id] => 1658
[menu-item-db-id] => 0
[menu-item-object] => page
[menu-item-parent-id] => 0
[menu-item-type] => post_type
[menu-item-title] => Page 3
[menu-item-url] => http://example.com/page3/
[menu-item-target] =>
[menu-item-classes] =>
[menu-item-xfn] =>
)
)
)