Há alguns meses enfrentava um pequeno problema com alguns usuários da categoria autor do WordPress. Por motivos estratégicos e de segurança eu não posso mudar a categoria dos usuários para Editor ou Administrador.

O problema é que, ao salvar um artigo contendo uma imagem, o “title” da imagem era apagado e em alguns casos o link de destino para o click na imagem também era perdido. Isso não é grave mas estava fazendo com que algumas imagens ficassem sem o “title”, o que as torna um pouquinho menos relevantes, visto que  o atributo mais importante é o “alt”. Em todo caso acho importante o “title” para o usuário mais experiente que verá informação relevante ao passar o mouse sobre a imagem.

Como solucionar este problema sem mudar a categoria do usuário?

Em nenhum momento pensei que este poderia ser algo na configuração do servidor de hospedagem. Uso o Dreamhost a vários anos para muitos sites e o problema não ocorria em todos. Cheguei a pedir uma ajuda rápida ao suporte do Dreamhost e ele me sugeriu verificar as regras de filtragem de HTML do WordPress. Foi perfeito! Era exatamente este o problema.

Erro ao salvar post no WordPress

Title sendo apagado ao salvar como draft ou pending

Fui pesquisar a respeito da sugestão do suporte técnico do Dreamhost e a solução que encontrei foi colocar as seguintes linhas no functions.php do tema WordPress.


$role = get_role( 'author' );
// desliga o filtro de HTML para o autor.
$role->add_cap( 'unfiltered_html' );

Estas linhas desligam o filtro de HTML para usuários da categoria autor e permite ao mesmos inserir até javascript no texto. Não sei porque isto também causava o problema, mas como resolveu eu acredito que possa ser algum bug do WordPress. Abrirei um ticket em breve no Trac do WordPress reportando isto, mas tenho que preparar bem o texto para que eles possam simular e ver se é o comportamento esperado.

O help da opção ulfiltered_html diz o seguinte:

unfiltered_html

  • Since 2.0
  • Allows user to post HTML markup or even JavaScript code in pages, posts, and comments.
  • Note: Enabling this option for untrusted users may result in their posting malicious or poorly formatted code.

Após inserir estas linhas o HTML não é mais modificado e todos os atributos da imagem são preservados.

É algo fazer de fazer para resolver um probleminha também. Mas blogar é isto: dar atenção a cada detalhe que pode fazer uma grande diferença, tanto na qualidade do artigo tanto no tempo gasto para escrevê-lo!

Deixe um comentário

  • (não será divulgado)