No sé realmente desde cuándo ocurre este error porque surge de vez en cuando, y últimamente con demasiada frecuencia. Me refiero a que al tratar de publicar o actualizar una entrada desde el editor de WordPress no hay manera, simplemente muestra un error de que no se ha podido actualizar en la base de datos.
¿A qué es debido este error?
Tiene que ver con los emojis y con la codificación de caracteres de la base de datos. Muchos usuarios se están dando cuenta del problema al copiar y pegar texto con emojis y luego querer publicar o actualizar una entrada o página en WordPress.
¿Cómo se soluciona este problema?
Hay 2 posibles soluciones, prueba una y sino la siguiente, mi consejo que sea en este orden que te planteo…
Filtra la codificación de emojis en UTF8
La manera más inmediata, que me ha funcionando en la mayoría de sitios, propios y de clientes, es añadir lo siguiente al archivo functions.php del tema activo o como fragmento de código usando un plugin:
add_filter( 'wp_insert_post_data', function( $data, $postarr ) {
if ( ! empty( $data['post_content'] ) ) {
$data['post_content'] = wp_encode_emoji( $data['post_content'] );
}
return $data;
}, 99, 2 );
Este código utiliza la función wp_encode_emoji que ayuda a almacenar emojis en tu base de datos de WordPress utilizando el conjunto de caracteres UTF8.
Cambia la codificación de la base de datos
El otro modo de solucionar el problema pasa por 2 acciones. Lo primero es añadir lo siguiente al archivo wp-config.php:
define( 'DB_CHARSET', 'utf8mb4' ); define( 'DB_COLLATE', 'utf8mb4_unicode_ci' );
Si ya estuviesen definidos previamente el DB_CHARSET y DB_COLLATE sustituye los valores por los de aquí arriba.
A continuación cambia en la base de datos, desde PHPMyAdmin, migra las tablas de la base de datos a utf8mb4_unicode_ci con la siguiente herramienta:

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!








Artículo conciso y al grano! Varios clientes me venían con este problema… hasta que vi que se trataba de los emojis en la mayoría de caso y ya hice el cambio en el archivo functions.php de cada tema.
Saludos!
Bravo!
Gracias Creack, me funcionó la primera opción.
Súper!! Opción 1 perfecta. Gracias
Muchas gracias por la ayuda! ya con el primer método fue suficiente saludos desde Chile
Cuánto me alegro 🙂
Gracias a ti, saludos desde España