Jefferson, 21 de março de 2021, webmasterwork, wordpress Eu fazia isso desde 2012, mas dessa vez deu xabu. Ao tentar mover nove comentários de um post para outro, esses desapareciam. Tentei com dois plugins diferentes, o Move Comments e o Tako Movable Comments. Os comentários eram visíveis para os plugins mas só eram visíveis no blog quando eu movia de volta para o post original.
Depois de mover para lá e para cá uma meia dúzia de vezes tentando entender o que estava errado. Eu me dei conta de que todos os comentários que eu estava movendo faziam parte de uma única thread. E o primeiro comentário dessa thread era uma resposta a um comentário que eu não estava movendo. Em outras palavras o primeiro comentário, que era um “filho”, ia se tornar um “pai” ao mover. E se os plugins não estivessem tomando o cuidado de ajustar o “Parent ID” do primeiro comentário, minha thread movida ia continuar sendo descendente do comentário que eu não movi.
Para verificar se era isso mesmo usei o plugin Edit Parent Comment ID para ajustar o Parent ID do primeiro comentário para zero e em seguida usei Move Comments para mover de novo. Problema resolvido. É uma pena que os plugins de movimentação não sejam espertos o bastante para lidar com isso, mas ainda bem que é de fácil solução quando você sabe onde está o problema.
(Prefira clicar em "Responder" se estiver comentando um comentário)
Jefferson, 10 de março de 2018, webmasterwork, wordpress A versão atual do WordPress é a 4.9.4 mas precisei recuperar o backup de um cliente que usava WordPress 3.3.1 (2012) e o backup pareceu funcionar perfeitamente, até eu fazer login:
Quase toda a página em branco e nenhum item do menu dava qualquer sinal de responder. Eu não podia fazer nenhuma tarefa administrativa via GUI. Existe um problema conhecido chamado The White Screen of Death onde toda a página aparece branca (nem o menu aparece) e eu tentei as dicas de como solucioná-lo, sem efeito. Eu podia resolver o problema instalando na marra uma versão mais recente do WordPress, mas aí o site do cliente parava de funcionar por causa de uma incompatibilidade das personalizações. Demorou um tempo para eu escolher os termos de pesquisa corretos e encontrar esta página com a solução:
- Abra para edição o arquivo/wp-admin/includes/screen.php
- Na linha 706 você deverá encontrar a seguinte declaração PHP:
<?php echo self::$this->_help_sidebar; ?> Remova “self::” para que fique assim: <?php echo $this->_help_sidebar; ?>
- Salve e abra a página no navegador de novo;
Segundo é dito nesta outra página, a declaração original está errada mas versões antigas do PHP ignoravam o erro. Quando o host faz o upgrade do PHP o problema aparece.
(Prefira clicar em "Responder" se estiver comentando um comentário)
Jefferson, 24 de agosto de 2017, blog, wordpress Por enquanto isso está por conta do plugin IJM Theme Switcher Bar. Vocês devem ver uma barra no topo da página com os nomes de todos os “temas” que vocês podem escolher.
Isso aparentemente só funciona na página principal.
Tenham em mente que eu não posso administrar todos eles. O default, que eu edito, é o Atahualpa. Todos os outros podem ter comportamentos estranhos e exibir coisas que eu não coloquei na tela. Quem tiver uma sugestão de tema que prefere usar pode falar que eu instalarei aqui e se não tiver nenhum problema óbvio disponibilizarei na lista.
(Prefira clicar em "Responder" se estiver comentando um comentário)
Jefferson, 12 de agosto de 2017, ADSL, wordpress Isso é algo que de vez em quando eu tenho que ilustrar para clientes. Eu fiz um programinha em Delphi que faz essas contas (dá para fazer no Excel também) mas achei interessante usar como exercício aqui para o plugin Calculated Fields Form.
NOTA: Conforme se pode ver nos comentários minha decisão de fazer as contas como se cada byte tivesse 10 bits gerou polêmica. Eu espero ter explicado satisfatoriamente a razão. Se não se conforma com isso, não use a calculadora.
O conteúdo desta página requer javascript habilitado no seu navegador.
(Prefira clicar em "Responder" se estiver comentando um comentário)
Jefferson, 12 de agosto de 2017, wordpress O blog estava com esse problema há muuuuito tempo. Do nada, os emoticons animados da coleção Kolobok aplicados pelo Custom Smilies começaram a aparecer comprimidos. Eu sempre fui deixando para depois porque era algo apenas estético mas ontem “baixou um santo” com TOC aqui e tive que consertar vários problemas incluindo este.
Descobri que o problema foi criado pelo upgrade para a versão 4.2 do WordPress (eu fiz o upgrade em dezembro de 2015), quando a equipe de desenvolvimento adicionou suporte a emojis acompanhado de um grande fo**m-se para quem sempre usou smileys no blog e não tem tempo nem inclinação para mudar tudo a cada hora que um novo padrão é criado. Este bug report a respeito do problema foi marcado com o temerário “wontfix” (conhecido eufemismo para: “Eu quero assim. Dane-se.”).
Então eu encontrei este tópico do suporte onde outros usuários do wordpress compartilham possíveis soluções
Solução 1
Acrescente o seguinte ao arquivo functions.php
|
remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); |
Funcionou no meu blog de testes mas aqui no Quicktalk foi completamente ignorado.
Solução 2
No arquivo wp-includes/formatting.php trocar isto:
return sprintf( '<img src="%s" alt="%s" class="wp-smiley" style="height: 1em; max-height: 1em;" />', esc_url( $src_url ), esc_attr( $smiley ) );
por isto:
return sprintf( '<img src="%s" alt="%s" />', esc_url( $src_url ), esc_attr( $smiley ) );
Isso resolveu o problema neste blog e deve resolver em todos os casos, mas formatting.php é um “core file” e devemos evitar mexer com eles.
Solução 3
Instalar o plugin Classic Smilies
Não funciona para mim porque o plugin impede o funcionamento do plugin Custom Smilies. Pior que isso: ele apaga as configurações do plugin e você tem que fazer de novo.
Solução 4
Baseada no código fonte de Classic Smilies. Acrescente isso em functions.php:
|
function disable_emojis() { remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); } add_action( 'init', 'disable_emojis' ); |
E isto não é dito onde se coloca, mas eu suponho que seja no arquivo style.css do tema:
|
img.wp-smiley, img.emoji { height: auto!important; max-height:100%!important; width: 100%!important; } |
Provavelmente não é, porque também não funcionou aqui no blog. Por ora estou me contentando com a solução 2, que funciona.
Meu problema com a decisão dos desenvolvedores do WordPress não foi a modificação que fizeram, porque ela faz sentido. Todos os emoticons são comprimidos para ficar da altura do texto e assim as linhas com emoticons não arriscam ficar mais altas que as outras. O problema é a recusa em acrescentar uma simples opção para ativar isso apenas se o o dono do blog quiser. Todo usuário do WordPress cujo blog tinha o “problema” que eles consertaram não via isso como um problema. Se eu quisesse emoticons minúsculos eu não teria passado por cima dos emoticons default e instalado emoticons grandes.
(Prefira clicar em "Responder" se estiver comentando um comentário)
Jefferson, 11 de agosto de 2017, wordpress
- Por causa de um problema maluco que ocorreu no blog hoje eu tive que dar um “reset” no tema e reimplementar minhas customizações uma por uma. Como vocês podem ver, o formulário de comentários agora se repete abaixo de cada post em vez de estar por trás do link “Clique aqui para comentar”. Eu vou deixar assim por enquanto porque ocultar o formulário requer muitas alterações em comments.php e eu suspeito agora que essa modificação era a causa de alguns problemas que eu estava tendo;
- O autor do plugin Demon Image Annotation (DIA) fez uma lambança que estava prejudicando o funcionamento de todo o blog desde agosto do ano passado. Graças ao autor de outro plugin eu resolvi o problema. DIA não funciona mais tão bem quanto antes mas enquanto eu não encontrar uma solução “sã” ele vai ficar do jeito que está;
- Eu estava usando há alguns dias um editor WYSIWYG no formulário de comentários que tive que desativar porque aparentemente ele dependia da lambança feita por DIA para funcionar;
- Eu reativei o plugin GD Star Rating, que estava desativado há muito tempo por conflitar com o plugin DIA. Agora vocês podem novamente dar notas a posts e comentários (onde você vê o contorno de cinco estrelas);
- Agora meus avisos aparecem também na versão mobile do blog graças ao plugin Advanced Comment Form.
(Prefira clicar em "Responder" se estiver comentando um comentário)
Jefferson, 10 de agosto de 2017, wordpress No mês passado eu finalmente atentei para o fato de que a versão mobile não exibe colunas, então eu movi o aviso sobre comentários Off Topic para a caixa de comentários.
Hoje eu descobri que:
- A versão mobile não exibe nenhum dos meus avisos adicionados à caixa de comentários. Damnit!
- Os smileys aparecem como opção, mas não são adicionados quando se toca neles;
E como vocês já devem saber
Aos poucos eu vou tentar resolver esses e outros problemas. Mas de qualquer forma eu recomendo fortemente que os leitores usem a versão Desktop.
(Prefira clicar em "Responder" se estiver comentando um comentário)
Jefferson, 10 de agosto de 2017, wordpress Eu estava com a versão 4.6.x e não podia testar o plugin Jetpack por isso. Me avisem se acharem algo anormal.
(Prefira clicar em "Responder" se estiver comentando um comentário)
Jefferson, 05 de agosto de 2017, wordpress O que eu preciso fazer:
- Mover todo os 934 posts e cerca de 6000 comentários de Geringonças e Gambiarras para cá;
- Dar um jeito de fazer os redirecionamentos de todos os posts automaticamente, evitando assim adicionar mais uma tarefa mortalmente tediosa. E me assegurando de que o Google entenda isso. Existem alguns tutoriais de como fazer isso como este que fazem a coisa parecer simples.
Opcional:
- Mudar o nome deste blog para Geringonças e Gambiarras. Nunca gostei realmente do nome atual.
(Prefira clicar em "Responder" se estiver comentando um comentário)
Jefferson, 02 de agosto de 2017, webmasterwork, wordpress Como autor do blog eu já tenho instalado há anos um plugin que me mostra isso nas páginas de administração. É bom ser lembrado do nível de engajamento de cada leitor antes de prosseguir. Mas eu queria exibir isso publicamente e a única opção “simples” que achei foi o plugin Comment Counter que tem muita coisa contra ele:
- Atualizado pela última vez há oito anos;
- Apenas 70 instalações registradas;
- Nenhuma avaliação;
- Você ainda precisa editar manualmente;
- Não diz onde você tem que editar manualmente.
Tem tanta coisa contra o plugin que se você pesquisar pelo nome dele na página de adicionar plugins do blog não encontra, apesar de não existirem outros com o mesmo propósito nem com nomes parecidos. É preciso procurar por “Comment Counter Ocean90”.
Mas apesar de tanta coisa contra ele, era o único e estou pouco me lixando para o fato de um software não ser atualizado há oito anos. Decidi arriscar. E só tive dificuldade porque entendo pouco de WordPress e muito menos de PHP.
O procedimento por alto é o seguinte:
- Instale o plugin;
- Insira
<?php wp_list_comments(); ?> na função callback que exibe os comentários, no lugar onde você quer que apareçam;
Como achar essa função callback?
Essa é a parte mais difícil do processo para quem, como eu, só mexe com o wordpress uma vez a cada alinhamento planetário.
- Comece abrindo o arquivo comments.php do seu tema;
- Nele você vai encontrar a função wp_list_coments. Um dos parâmetros dessa função é a função “callback”. No meu caso ela se chama “bfa_comments”. Confira na linha 8:
|
if ( is_single() ) { if ($bfa_ata['separate_trackbacks'] == "Yes") { wp_list_comments(array( 'avatar_size'=>$bfa_ata['avatar_size'], 'reply_text'=>__(' · Comentar','atahualpa'), 'login_text'=>__('Faça o login para comentar ','atahualpa'), 'callback' => 'bfa_comments', 'type' => 'comment' )); |
- Procure por essa função nos arquivos do tema. Como eu uso o tema Atahualpa, o arquivo é bfa_custom_comments.php.
- Observando a função você vai ver como a caixa de comentário é construída. Escolha o lugar mais apropriado para você e insira o código que chama o plugin. No exemplo abaixo eu mostro a inserção na linha 16;
|
<?php function bfa_comments($comment, $args, $depth) { global $bfa_ata; $GLOBALS['comment'] = $comment; ?> <li <?php comment_class($class='clearfix') ?> id="comment-<?php comment_ID(); ?>"> <div id="div-comment-<?php comment_ID(); ?>" class="clearfix comment-container<?php $comment = get_comment($comment_id); if ( $post = get_post($post_id) ) { if ( $comment->user_id === $post->post_author ) echo ' bypostauthor'; } ?>"> <div class="comment-author vcard"> <?php if ($args['avatar_size'] != 0) echo get_avatar( $comment, $args['avatar_size'] ); ?> <span class="authorname"><?php comment_author_link(); ?> - <?php comment_counter();?></span> |
Não é de admirar que o plugin não faça isso automaticamente. Deve ser mais difícil para um programa fazer isso de forma confiável que todo o resto.
Mas é realmente muito simples quando você sabe fazer. O resultado você pode ver aqui no blog:
Eu também tive que editar o arquivo do plugin (comment_count.php) porque “Comentários” estava escrito em alemão, mas depois que você chega aqui, ter que editar o plugin é bobagem. Note que fui obrigado a usar entidades HTML
Comentário para a acentuação aparecer corretamente.
|
$output = sprintf( $format, $german_plural ? (sprintf( __ngettext('%s Comentário', '%s Comentários', $cc_count), number_format_i18n($cc_count))) : number_format_i18n($cc_count), number_format_i18n($percent, 2) . '%', $german_plural ? (sprintf( __ngettext('%s Comentário', '%s Comentários', $total_comments), number_format_i18n($total_comments))) : number_format_i18n($total_comments) ); |
Por default o plugin conta pelo endereço de email de quem comenta, mas você pode mudar esse e outros parâmetros editando a variável “$args” como mostrado na documentação do plugin. Como o default está bom para mim eu não vou abordar isso aqui agora mas o modo mais “simples” de fazer isso globalmente é editando diretamente a função comment_counter no arquivo do plugin.
|
function comment_counter($args = '') { $defaults = array( 'routine' => 'email', 'exclude' => array(), 'cc_comment_id' => '', 'echo' => 1, 'format' => '<small>%s</small>', 'german_plural' => 1, 'access' => '' ); |
Como contar pelo endereço de email lidando com comentários que não tem endereço de email
Esse é um caso incomum porque por default todo mundo tem que preencher um endereço de email ao comentar no wordpress. Tão incomum que o autor do plugin não levou em conta. Mas acontece e aí todo mundo nessa situação vai aparecer com a mesma contagem porque para o plugin todos são um cara com o endereço de email “”.
Se não acredita, veja os comentários.
Eu contornei fazendo as seguintes modificações no plugin:
|
} elseif ($routine == 'email') { $cache = wp_cache_get($cc_comment_email); if ($cc_comment_email == '') {$cc_count=0;} else{ if ($cache == false) { $count = "SELECT COUNT(comment_author_email) FROM " .$GLOBALS['wpdb']->comments. " WHERE comment_author_email = '$cc_comment_email'"; $cc_count = $GLOBALS['wpdb']->get_var($count); wp_cache_set($cc_comment_email, $cc_count); } else { $cc_count = $cache; } } |
e
|
if ($cc_count ==0) return; $output = sprintf( |
Na primeira caixa foram acrescentadas as linhas 3, 4 e 12. Na segunda, a linha 1.
(Prefira clicar em "Responder" se estiver comentando um comentário)
|
|
Notei que não tem mais na barra lateral quem foi o autor das últimas postagens. Somente o título.
Nisso aí eu não mexi. Não faço idéia do que aconteceu.
Agora retornou o nome do autor das postagens…
Na rolagem de tela a barra vem junto, mesmo depois de escolher um tema.
Curiosamente, no Atahualpa, sumiu a lista dos comentários recentes.
Não foi só isso que sumiu. Na verdade toda minha personalização do lado inteiro foi apagada. Ainda não sei a razão.
Não tem backup pra restaurar?
Eu tenho um monte de backups, mas de cabeça, sem fazer pesquisa, não faço idéia de com restaurar apenas a configuração dos widgets, sem mexer em mais nada.
Achei mais fácil refazer.
Nota: você pode ter entendido algo diferente do que eu queria dizer porque eu omiti uma palavra.
Onde está escrito:
toda minha personalização do lado inteiro foi apagada
Leia:
toda minha personalização do lado direito inteiro foi apagada
Atahualpa! As outras opções não possuem qualquer identidade.
Esteticamente o blog para mim é perfeito. E não que eu entenda de design – não entendo – e não que eu tenha bom gosto gráfico – não tenho – e não que minha opinião valha – não vale!
Estou aqui pelo conteúdo, mas a embalagem clássica é de longe a que mais me agrada!
abração!
putz, sem querer cliquei no tema gray e tá horrivel; como faz pra voltar pro tema básico? sumiram as opções no topo do blog
Clique neste link:
https://ryan.com.br/blogs/quicktalk/?theme=Atahualpa
É curioso que somente o tema greyville não esteja mostrando a barra de escolha de temas…