✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Cómo quitar caracteres especiales de los enlaces permanentes

49

Siempre que trabaje con WordPress y API de terceros, siempre existe la posibilidad de que se encuentre con problemas en los que la API de terceros no está preparada para manejar ciertos caracteres que existen en un enlace permanente.

Sin embargo, dependiendo de la configuración del enlace permanente, esto puede o no ser un problema. Por ejemplo, puede establecer sus enlaces permanentes en algo como ?p=123 para cada publicación. En ese caso, no es mucho problema.

Pero si está utilizando "enlaces permanentes bonitos" y su enlace permanente incluye algo como un símbolo de marca registrada o un símbolo de derechos de autor, entonces puede causar problemas siempre que se comunique con dicha API de terceros.

Primero, si está utilizando enlaces permanentes bonitos, estos generalmente se crean a partir del título de la publicación. Entonces, si usa algo como All About The Acme Machine™, generará un enlace permanente que incluye algo así.

Por ejemplo, puede hacer que WordPress genere automáticamente algo como esto: https://acme.com/all-about-the-acme®-machine/

Y cuando llegue el momento de enviar esa información a una API de terceros (o de intentar procesarla usando algo que no esté preparado para tales caracteres), entonces tendrá problemas.

Afortunadamente, WordPress proporciona un enlace que nos permite procesar los enlaces permanentes antes de que se serialicen en la base de datos. Es decir, este es el gancho wp_insert_post_data.

Y en este caso, funciona así:

  1. Configure el gancho para disparar tarde en el proceso de serialización,
  2. Busque personajes que puedan ser problemáticos,
  3. Reemplácelos con una cadena vacía,
  4. Devuelva la información actualizada a WordPress para su serialización.

Aquí hay un ejemplo que busca eliminar varios símbolos, como los símbolos de derechos de autor, los símbolos de marcas registradas, los símbolos de registro y otras variantes de los mismos, tanto en formatos codificados como en los equivalentes codificados:

Tenga en cuenta que la función acepta los datos de la publicación como argumento, verifica que no esté trabajando con un borrador, un artículo pendiente o un borrador automático, y luego elimina el contenido en el nombre de la publicación.

Esto puede ser un problema matizado. Es decir, quizás no lo encuentre en sus esfuerzos de desarrollo. Si, por el contrario, lo hace, entonces esto proporciona una solución que no solo le permite eliminar ciertos caracteres de la URL, sino que también le permite hacerlo de forma escalable.

Entonces, a medida que cambien sus necesidades, simplemente puede actualizar la llamada preg_replace con los caracteres que necesita eliminar de su URL.

Fuente de grabación: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More