Desde hace varios meses, he notado que los widgets de Categorías y Etiquetas no aparecían en el editor de bloques de entradas de mi WordPress. En cierto modo estaba bien porque podía solucionarlo asignando categorías y etiquetas a través de la funcionalidad de edición rápida desde la lista de entradas, pero era una molestia.
Había hecho los pasos de depuración habituales de desactivar los plugins, cambiar al tema por defecto, incluso reinstalar el código del núcleo de WordPress, pero nada cambió. Había intentado buscar en Internet frases como "wordpress categories and tags missing", pero no había encontrado nada.
Hoy he encontrado dos pistas que me han llevado a investigar más a fondo. En primer lugar, cuando abrí las herramientas para desarrolladores de Chrome, me di cuenta de que las peticiones AJAX se disparaban sin parar. Al principio quería comprobar si había errores en alguna de las peticiones, pero todas las peticiones devolvían respuestas JSON, así que no había ningún error en el aspecto del procesamiento.
En segundo lugar, instalé el plugin Health Check & Troubleshooting. Cuando lo ejecuté, mostró:
La API REST no se comportó correctamente
La API REST es una de las formas en que WordPress, y otras aplicaciones, se comunican con el servidor. Un ejemplo es la pantalla del editor de bloques, que depende de esto para mostrar, y guardar, sus entradas y páginas.
La API REST no procesaba correctamente el parámetro de consulta de contexto.
Por casualidad me encontré con esta entrada del blog que sugirió la adición de la siguiente pieza de configuración a la configuración de nginx.
location ~ ^/wp-json/ { rewrite ^/wp-json/(.*?)$ /?rest_route=/$1 last; } Y he aquí que se ha solucionado el problema. No he profundizado en los detalles de lo que está pasando exactamente. Sólo estoy publicando esto en caso de que otras personas se encuentren con este problema, ya que no fue fácil encontrar la solución a este problema.