Primero, asigne un nombre a su entrada:
<input name="submit" value="Update">
Luego, en su código, asumiendo PHP 7+:
if ('Update' === ($_POST['submit'] ?? false)) {
wp_update_post($post, true);
}
Cómo funciona: cuando hace clic en un botón de tipo enviar en el navegador, el navegador empaqueta el nombrada elementos de entrada y los envía por cable. El servidor web desentraña el mensaje HTTP y lo envía a PHP, lo que lo hace disponible en la matriz asociativa (también conocida como diccionario) denominada $_POST
. (O si el método es GET, entonces $_GET
). Luego puede verificar esta matriz para las claves esperadas y sus valores.
Por otro lado, no es estrictamente necesario que nombre su botón. También podrías hacer:
if (count($_POST)) {
...
}
que afirma que hay al menos un par de valores clave en los datos publicados.
También puede considerar usar var_dump('<pre>', $_POST)
como ayuda diagnóstica.
Finalmente, no me queda claro dónde está su $id
proviene, pero eso también debe configurarse correctamente.
.