✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Como remover caracteres especiais de links permanentes

9

Sempre que você estiver trabalhando com o WordPress e APIs de terceiros, sempre há uma chance de encontrar problemas em que a API de terceiros não esteja preparada para lidar com determinados caracteres que existem em um link permanente.

Dependendo das configurações de permalink, no entanto, isso pode ou não ser um problema. Por exemplo, você pode definir seus permalinks para algo como ?p=123 para cada postagem. Nesse caso, não é um grande problema.

Mas se você estiver usando "bonitos permalinks" e seu permalink incluir algo como um símbolo de marca registrada ou um símbolo de direitos autorais, isso poderá causar problemas sempre que você estiver se comunicando com a referida API de terceiros.

Primeiro, se você estiver usando links permanentes bonitos, eles geralmente são criados a partir do título do post. Então, se você usar algo como All About The Acme Machine™ irá gerar um link permanente que inclui algo assim.

Por exemplo, você pode fazer com que o WordPress gere automaticamente algo assim: https://acme.com/all-about-the-acme®-machine/

E quando chegar a hora de enviar essas informações para uma API de terceiros (ou tentar processá-las usando qualquer coisa que não esteja preparada para esses caracteres), você terá problemas.

Felizmente, o WordPress fornece um gancho que nos permite processar links permanentes antes de serem serializados no banco de dados. Ou seja, este é o gancho wp_insert_post_data.

E neste caso, funciona assim:

  1. Configure o gancho para disparar no final do processo de serialização,
  2. Procure por personagens que possam ser problemáticos,
  3. Substitua-os por uma string vazia,
  4. Retorne as informações atualizadas ao WordPress para serialização.

Aqui está um exemplo que procura remover vários símbolos, como símbolos de direitos autorais, símbolos de marca registrada, símbolos de registro e outras variantes dos mesmos, tanto em formatos codificados quanto em equivalentes codificados:

Observe que a função aceita os dados da postagem como um argumento, verifica se você não está trabalhando com um rascunho, um artigo pendente ou um rascunho automático e, em seguida, remove o conteúdo do nome da postagem por

Esta pode ser uma questão sutil. Ou seja, talvez você não a encontre em seus esforços de desenvolvimento. Se, por outro lado, você fizer isso, isso fornece uma solução que não apenas permite remover determinados caracteres da URL, mas também permite que você faça isso de forma escalável.

Assim, conforme suas necessidades mudam, você pode simplesmente atualizar a chamada preg_replace com os caracteres que você precisa remover do seu URL.

Fonte de gravação: tommcfarlin.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação