Suporte » Desenvolvendo com WordPress » Erro: sprintf(): Too few arguments

  • gabriellarivetti

    (@gabriellarivetti)


    Olá pessoal! Podem me ajudar?

    Apareceu de repente este erro nos posts: Warning: sprintf(): Too few arguments in /home/gabri086/public_html/wp-content/themes/anima/includes/loop.php on line 138

    Já tentei desativar os últimos plugins que ativei, mas não alterou nada.

    Este é o código do includes/loop.php, e realmente não sei o que fazer 🙁

    https://pastebin.com/sQ8hY8LW

    A página que eu preciso de ajuda: [fazer login para ver o link]

Visualizando 15 respostas - 1 até 15 (de um total de 26)
  • gabriellarivetti

    (@gabriellarivetti)

    Descobri que deve ser algo relacionado aos autores, pois quando desabilito a função a deixar visivel ou autor, o erro desaparece, como está agora no site.

    Com a função de mostrar o autor, o erro fica assim: https://drive.google.com/file/d/0Bx8ja1DnroDDbGdBbzNMaW10cUE/view?usp=sharing

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Olá, tudo bem?

    Acho que o problema é que o autor o post está sem o display_name.

    Creio que já arrumou, pois o link enviado está OK. Então por favor, compartilhe a solução. 😀

    Abraços

    gabriellarivetti

    (@gabriellarivetti)

    Oi!! Obrigada pela resposta!

    O erro continua internamente, o que fiz foi desabilitar a função de mostrar o autor.

    Com a função de mostrar o autor, o erro fica assim: https://drive.google.com/file/d/0Bx8ja1DnroDDbGdBbzNMaW10cUE/view?usp=sharing

    Minha última esperança era fazer uma alteração num plugin que instalei para organizar as colunas, e acabei retirando a coluna de Autor, mas já recoloquei esta coluna e o erro permanece :/

    Como eu faço para ver isto do display name?

    Muito obrigada!!!

    UPDATE: eu troco o autor mas o erro continua

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Copia aqui a linha 138 do arquivo, por favor.

    Abraços

    gabriellarivetti

    (@gabriellarivetti)

    Olá!! Obrigada pela resposta!

    De acordo com este link https://pastebin.com/sQ8hY8LW, na linha 138 tem apenas isso: }

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Como esse arquivo foi escrito por mim, baseado no código que colou no fórum, não é exatamente a mesma linha do arquivo original (citado no erro). Por isso pedi novamente por ela para você… hahaha

    Por favor, dá uma olhada no arquivo original.

    Abraços

    gabriellarivetti

    (@gabriellarivetti)

    Oh, desculpe, não sabia =D sou nova nisso tudo.

    é isto:
    sprintf( esc_attr__( ‘View all posts by %s’, ‘anima’ ), get_the_author_meta( ‘display_name’, $author_id) ),

    Obrigada 😀

    • Esta resposta foi modificada 2 anos atrás por  Mário Valney.
    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Então é isso aí mesmo.

    sprintf espera que tenha um segundo valor para preencher o primeiro. Possivelmente get_the_author_meta( ‘display_name’, $author_id) não está retornando nada.

    Pode conferir se o usuário tem nome cadastrado? Vai na conta e tenta salvar novamente também.

    Abraços

    gabriellarivetti

    (@gabriellarivetti)

    Acho que já estava cadastrado até porque antes esta função funcionava perfeitamente. De qualquer forma fui lá e salvei de novo. Mas agora pensei que talvez isso tenha acontecido depois que criei o perfil no gravatar. Pode ter alguma relação?

    Print usuários: https://drive.google.com/file/d/0Bx8ja1DnroDDcmxXNG5DWVhtS28/view?usp=sharing

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Não. Não deve ter relação.

    Precisava ver como que fica o HTML impresso com o erro… tem como permitir o erro novamente?

    Vi que o site está disponível, qualquer coisa, volta o erro, dou uma olhada e já aviso para voltar.

    Pode ser?

    gabriellarivetti

    (@gabriellarivetti)

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Bem. Vamos fazer um teste agora:

    Antes de:

    if ( $anima_meta_author ) {
    (mais ou menos a linha 127/128…)

    Adicione o seguinte código:

    echo "1";
    var_dump(esc_url( get_author_posts_url( get_the_author_meta( 'ID', 	$author_id ) ) ));
    echo "2";
    var_dump(sprintf( esc_attr__( 'View all posts by %s', 'anima' ), get_the_author_meta( 'display_name', $author_id) ));
    echo "3";
    var_dump(get_the_author_meta( 'display_name', $author_id));

    É um teste um pouco feio, mas vai servir pra saber se algum dos parâmetros não está sendo passado para a sprintf “maior”.

    Abraços

    gabriellarivetti

    (@gabriellarivetti)

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Confere se copiou o código corretamente por favor… não era pra ter um “&” perdido hahahaha

    Aqui está o mesmo código, só que no Pastebin:
    https://pastebin.com/uAQYNh3H

    gabriellarivetti

    (@gabriellarivetti)

    Desculpe a demora. Estou n fuso horario de Portugal.

    Eu não consigo mais abrir o meu painel, aparece aquela mensagem.

Visualizando 15 respostas - 1 até 15 (de um total de 26)
  • O tópico ‘Erro: sprintf(): Too few arguments’ está fechado para novas respostas.