Es posible que en alguna ocasión, tratando de guardar una entrada nueva o actualizando una entrada, os hayáis encontrado con un error como el que os muestro arriba:
Ha fallado la actualización. No se ha podido insertar en la base de datos
Si os metéis en la pestaña de «Red» veréis que la petición que hace WordPress a la API para actualizar la entrada en base de datos devuelve un error 500. Os cuento el por qué aparece el error y cómo arreglar.
Si habéis puesto emoticonos en vuestra entrada o página, a la hora de guardarlo en la base de dato MySQL o MariaDB devolverá un error porque el juego de caracteres que usas no permite emojis o emoticonos. Por lo general, se trata de UTF-8 en estos casos.
Soluciones hay varias, vamos a verlas. La más simples es quitar los emojis del contenido, pero claro, la idea es evitar hacerlo porque incluso llegan a aparecer en los SERP de Google y son un punto muy a favor para transmitir contenido.
Puedes cambiar de UTF-8 a UTF8MB64 y a priori, este nuevo juego de caracteres debería soportarlos. Sin embargo, sé de casos donde aún así sigue habiendo problemas con algunos emojis.
Dentro de WordPress hay una función que se llama wp_encode_emoji y que básicamente convierte cualquier emoji que aparece en el contenido en su equivalente HTML. Su equivalente HTML es un código que no tiene sentido para los humanos pero que para las máquinas representa los emojis y que al ser un código sencillo en plan ampersand, seguido de almohadilla y seguido por un entero de 6 cifras, terminando en punto y coma. Aquí lo veis más claro con un listado completo.
El filtro tiene esta forma y podéis ponerlo en vuestro plugin de funciones o en vuestro tema hijo:
add_filter( 'wp_insert_post_data', function( $data ) { if ( ! empty( $data['post_content'] ) ) { $data['post_content'] = wp_encode_emoji( $data['post_content'] ); } return $data; }, PHP_INT_MAX );
Qué básicamente dice:
Si tenéis dudas o problemas podéis dejarlo en comentarios.
Nota: Hay una valoración incrustada en esta entrada, por favor, visita esta entrada para valorarla.RedSys aparte de los pagos normales, llamados autorizaciones, acepta una variedad de operaciones: desde autorizaciones…
WooCommerce permite ordenar los productos de una forma nativa, para poder presentar primero los que…
Cada vez que hay una actualización grande del núcleo WordPress, por defecto WordPress te instala…
Una pantalla LCD es una pantalla delgada y hecha de cristal líquido. Se usa en…
De todos los plugins que existen para Gravity Forms, que son numerosos porque la propia…
Un CMS, como WordPress, facilita la creación y gestión de contenido en la web, sin…