¿WordPress tiene alguna forma oficial de verificar el método de solicitud?

1 minuto de lectura

Estoy creando un complemento con panel de administración para guardar configuraciones y la URL de <form action="url" method="post"> es lo mismo para mostrar el panel, ¿qué necesito verificar el tipo de método de solicitud? Necesito llamar al save función, si el tipo de solicitud es POST luego para mostrar el panel.

Actualmente estoy usando esta forma de verificar:

if($_SERVER['REQUEST_METHOD'] === 'POST') { }

Así que mi código es así:

add_action('admin_menu', 'menu');

function menu() {
  add_menu_page('MyPlugin', 'manage_options', 'menu_item_id', 'load_page');
}

function load_page() {
  if($_SERVER['REQUEST_METHOD'] === 'POST') {
    // call the save function.
  }
  // print admin panel HTML here.
}

Solo me pregunto si esta es la mejor manera de resolver el problema en WP, porque no me parece elegante.

¿WordPress tiene alguna forma oficial de verificar el método de solicitud o no? ¿O debería enviar una solicitud de formulario a otra URL y redirigir a la página original después de guardar los datos?

No vi una forma oficial de manejar esto, pero phpcs se queja del uso directo de súper globales como $_SERVER y parece estar contento con:

if ( 'POST' !== filter_input( INPUT_SERVER, 'REQUEST_METHOD', FILTER_SANITIZE_STRING ) ) {
    // Do something.
}

¿Ha sido útil esta solución?