Suporte » Ajustando o WordPress » Tags html corrompidas ao postar por XML-RPC

  • Olá.

    Utilizo o Windows Live Writer para postar conteúdo em um site feito com o WordPress, mas nos últimos meses tem ocorrido um problema estranho: os caracteres “<” e “>” são removidos de minhas postagens.

    Ex.:
    <p><b>Funcionando</b></p>
    vira
    pbFuncionando /b/p

    Tentando chegar a uma solução fiz alguns testes:
    1 – Experimentei substituir o Writer pelo Zoundry Raven, mas obtive o mesmo resultado.
    2 – Atualizei o WordPress, que estava na versão 2.9 (se não me engano) para a 3.2.1
    3 – Desativei meu tema atual e o substituí por um tema padrão do WordPress.
    4 – Desativei todos os plugins.

    Nenhuma alternativa funcionou, então a saída tem sido postar pelo editor padrão do wordpress (online), onde tudo funciona normalmente, mas fazendo dessa forma o processo se torna bem menos prático =/

    Vocês tem mais alguma idéia do que eu possa tentar?

    Arthur

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • Eu tenho exatamente o mesmo problema!

    Acontece com qualquer aplicativo que utilizo para postar no WordPress, exceto no próprio painel via browser.

    Pesquisando, vi diversas pessoas relatando esse problema, mas parece que ninguém sabe a solução, ou se sabe, ninguém informou até agora.

    Enfim, se alguém puder ajudar, agradeço muito! 🙂

    Descobri a causa do problema, mas ainda não consegui solucioná-lo.

    Aparentemente, este bug está relacionado a versão do PHP e da libxml2.

    Para funcionar corretamente, deveríamos ter o PHP 5.2.9 (ou superior) e a libxml2 2.7.3 (ou superior).

    Meu provedor utiliza o PHP 5.2.17 e não tem como atualizá-lo (a não ser que eu migre de uma hospedagem Linux para Windows).

    Para casos como esse, um desenvolvedor criou um plugin de contorno que pode ser baixado em http://josephscott.org/code/wordpress/plugin-libxml2-fix/

    Este plugin promete resolver o problema de quem não pode atualizar o PHP.

    Embora eu tenha encontrado muitos relatos de que este plugin tenha resolvido o problema de muita gente, pra mim ele não teve efeito nenhum.

    De qualquer forma, fica aí a dica pra quem quiser testar. 🙂

    Criador do tópico arthuraraujo

    (@arthuraraujo)

    Boa igorlt78, obrigado!

    Infelizmente também não funcionou para mim, mas essas informações sobre a causa do problema já são um progresso.

    Criador do tópico arthuraraujo

    (@arthuraraujo)

    Funcionou aqui igorlt78 =D

    Instalei o plugin e cliquei em editar.
    O trecho original era assim

    if (
    		LIBXML_DOTTED_VERSION == '2.6.27'
    		|| LIBXML_DOTTED_VERSION == '2.7.0'
    		|| LIBXML_DOTTED_VERSION == '2.7.1'
    		|| LIBXML_DOTTED_VERSION == '2.7.2'
    		|| (
    			LIBXML_DOTTED_VERSION == '2.7.3'
    			&& version_compare( PHP_VERSION, '5.2.9', '<' )
    		)
    	) {
    		$HTTP_RAW_POST_DATA = str_replace( '<', '<', $HTTP_RAW_POST_DATA );
    		$HTTP_RAW_POST_DATA = str_replace( '>', '>', $HTTP_RAW_POST_DATA );
    		$HTTP_RAW_POST_DATA = str_replace( '&', '&', $HTTP_RAW_POST_DATA );
    	}

    O problema é que a xml version era a 2.6.26, então é lógico que não ia funcionar, já que o script se ativa apenas caso a versão utilizada seja a 2.6.27, 2.7.0, 2.7.1 ou 2.7.2.

    Dessa forma, foi só adicionar uma linha correspondente a versão XML da minha hospedagem, no caso
    || LIBXML_DOTTED_VERSION == '2.6.26'
    que ele passou a funcionar normalmente, ficando assim:

    if (
    		LIBXML_DOTTED_VERSION == '2.6.27'
    		|| LIBXML_DOTTED_VERSION == '2.7.0'
                    || LIBXML_DOTTED_VERSION == '2.6.26'
    		|| LIBXML_DOTTED_VERSION == '2.7.1'
    		|| LIBXML_DOTTED_VERSION == '2.7.2'
    		|| (
    			LIBXML_DOTTED_VERSION == '2.7.3'
    			&& version_compare( PHP_VERSION, '5.2.9', '<' )
    		)
    	) {
    		$HTTP_RAW_POST_DATA = str_replace( '<', '<', $HTTP_RAW_POST_DATA );
    		$HTTP_RAW_POST_DATA = str_replace( '>', '>', $HTTP_RAW_POST_DATA );
    		$HTTP_RAW_POST_DATA = str_replace( '&', '&', $HTTP_RAW_POST_DATA );
    	}

    Vlw igorlt78.

    Muito bom arthuraraujo!

    Fiz a edição do plugin aqui e deu certo também! 🙂

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • O tópico ‘Tags html corrompidas ao postar por XML-RPC’ está fechado para novas respostas.