SoporteCategory: QuestionsGuardar opciones del pluging y verificar nonce
David asked 5 years ago

Hola Carlos.
Al ejecutar tu ejemplo de como guardar parámetros https://github.com/cehojac/antonella-framework-guardar-parametros/blob/master/src/ParametrosController.php quise probarlo y le añadí un campo hidden para almacenar el nonce.
line:15

$data[‘nonce’] = wp_create_nonce(); // crea el valor del nonce

line:24

<input type=”hidden” name=”_wpnonce” value=”{$nonce}” />

Hasta aquí bien el problema surge al hacer uso de la function wp_verify_nonce() dentro del método GuardarParametros() dice que no reconoce la función wp_verify_nonce() sin embargo en el método anterior no hay problema.
La idea es si para la verificación se realiza el update_option()
La solución que encontré fue hacer un require_once( ABSPATH . ‘wp-includes/pluggable.php’ ); dentro del método GuardarParametros()
Nota. En el fichero pluggable.php se encuentra definida esa y otras funciones.
Mi pregunta. ¿Cuál seria el mejor sitio para realizar dicho requiere ?

  • En el propio _constructor() del controlador ParametrosController()
  • En el metodo GuardarParametros()
  • O en el fichero antonella-framework.php

Gracias.

1 Answers
Carlos Herrera Staff answered 5 years ago

Hola David y Gracias por usar Antonella Framework
El caso es que cuando programé los capturadores de POST y GET  lo hice para que funcione mucho antes de los requerimientos de un plugin.  Tu solución es la correcta debes llamar a  require_once( ABSPATH . ‘wp-includes/pluggable.php’ ); dentro del método GuardarParametros()  ya que sólo esta función llamará a pluggable.php en los otros casos no serán necesarios.
No deberías guardarlo en el constructor __construct() o en antonella-framework.php ya que esta necesidad solo ocurre dentro de POST y GET.
Espero que te haya servido de ayuda. Saludos