remover campo URL nos comentários wordpress tema Destro
-
Olá amigos,
Desde já agradeço sua atenção 🙂
Eu migrei recentemente meu blog para wordpress e, para minha surpresa, centenas de spams aparecem diariamente. Meu blog é voltado para muitos comentários, sendo assim não posso instalar o Akismet, porque dificultaria e muito a vida de meus visitantes e comentaristas.
Como posso remover o campo URL nos comentários nesse tema?
Como podem observar, já coloquei as dicas encontradas, mas sem sucesso.O tema que uso é Destro, que eu adaptei, e o css dos comentários é esse:
<?php $post; if ( post_password_required() ) { ?> <p class="nocomments"><?php _e('This post is password protected. Enter the password to view comments.', 'Destro') ?></p> <?php return; } ?> <!-- You can start editing here. --> <?php if ( !comments_open() && is_single() ) :?> <div class="no_comm_single"> <p><?php _e('Comments are closed.', 'Destro') ?></p> </div> <?php endif; ?> <?php if ( have_comments() ) : ?> <h3 id="comments"><?php comments_number(__('Comments', 'Destro').' (0)', __('Comment', 'Destro').' (1)', __('Comments', 'Destro').' (%)'); ?></h3> <ol class="commentlist"> <?php wp_list_comments('callback=Destro_comments'); ?> <?php $paginate_comments_links = paginate_comments_links('echo=0'); ?> <?php if(!empty($paginate_comments_links)) : ?> <div class="pagination2"> <?php echo $paginate_comments_links; ?> </div> <?php endif; ?> <?php endif; ?> <?php $fields = array( 'author' => '<p><input type="text" name="author" id="author" value="' . esc_attr( $commenter['comment_author'] ) . '" size="22" tabindex="1" /><label for="author"><small>'.__('Name', 'Destro') . ( $req ? __('(required)', 'Destro').'</small></label></p>':'' ), 'email' => '<p><input type="text" name="email" id="email" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="22" tabindex="2" /><label for="email"><small>'.__('E-mail', 'Destro') . ( $req ? __('(required)', 'Destro').'</small></label></p>':'' ), 'url' => '<p><input type="text" name="url" id="url" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="22" tabindex="3" /><label for="url"><small>'.__('Website', 'Destro').'</small></label></p>' ); function remove_comment_fields($fields) { unset($fields['url']); return $fields; } add_filter('comment_form_default_fields','remove_comment_fields'); $args = array( 'fields' => $fields, 'comment_notes_after' => '' ); comment_form( $args ); ?>Abraço
Aurelio Martuscelli
-
Estás a chamar o filtro
comment_form_default_fieldsdemasiado tarde, parece-me (os campos já estão na página quando chamas a função). Tenta fazer isso no functions.php do teu tema. Aliás esse código parece-me incompleto ou mal copiado. De onde vem?Posto isto, não percebo
o Akismet, [..] dificultaria e muito a vida de meus visitantes e comentaristas.
Em quê exactamente? Faço a gestão de quase uma centena de sites, todos têm o Akismet instalado e nunca, nestes anos todos, alguma vez alguém se queixou.
Olá Ze Fontainhas
Muito obrigado por sua atenção!
Apenas copiei e colei o que havia na seção indicada, se contém erros são nativos do tema.
O Askimed, em alguns momentos me retorna com erro 503 (verificado no google) pagespeed, deve ser, mas eu precisaria fazer arranjos. Uma vez retirada a URL dos comentários, mais de 70% dos spams não poderiam jogar seus lixos por lá!
Essa é o frase que eu gostaria de remover:
<?php $fields = array( 'author' => '<p><input type="text" name="author" id="author" value="' . esc_attr( $commenter['comment_author'] ) . '" size="22" tabindex="1" /><label for="author"><small>'.__('Name', 'Destro') . ( $req ? __('(required)', 'Destro').'</small></label></p>':'' ), 'email' => '<p><input type="text" name="email" id="email" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="22" tabindex="2" /><label for="email"><small>'.__('E-mail', 'Destro') . ( $req ? __('(required)', 'Destro').'</small></label></p>':'' ),Como remover essa frase, sem comprometer o php form?
`’url’ => ‘<p><input type=”text” name=”url” id=”url” value=”‘ . esc_attr( $commenter[‘comment_author_url’] ) . ‘” size=”22″ tabindex=”3″ /><label for=”url”><small>’.__(‘Website’, ‘Destro’).'</small></label></p>’
);`function remove_comment_fields($fields) { unset($fields['url']); return $fields; } add_filter('comment_form_default_fields','remove_comment_fields'); $args = array( 'fields' => $fields, 'comment_notes_after' => '' ); comment_form( $args ); ?>A maneira mais simples é tirares o campo ‘url’ da array
$fields, acho euOlá, novamente amigo
Pois é, aí está o problema,
eu não entendo o suficiente dessa linguagem para modificar,
eu tentei, mas em vão, quando retiro essa linha apresenta erro.
Alguma dica?Obrigado, de qualquer maneira
Aurelio
$fields = array( 'author' => '<p><input type="text" name="author" id="author" value="' . esc_attr( $commenter['comment_author'] ) . '" size="22" tabindex="1" /><label for="author"><small>'.__('Name', 'Destro') . ( $req ? __('(required)', 'Destro').'</small></label></p>':'' ), 'email' => '<p><input type="text" name="email" id="email" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="22" tabindex="2" /><label for="email"><small>'.__('E-mail', 'Destro') . ( $req ? __('(required)', 'Destro').'</small></label></p>':'' ) );Quanto ao erro 503 que estás a ter, se fosse a ti investigava o assunto; esse erro nada tem a ver com o Akismet directamente, mas sim com a configuração do teu servidor, .htaccess ou até do próprio WordPress.
Muitíssimo obrigado, Ze Fontainhas!
Parece-me que o problema está corrigido.Quanto ao erro 503, você está certo, a Hosting é deficiente, já estou providenciando um VPS.
Boa sorte, amigo
O tópico ‘remover campo URL nos comentários wordpress tema Destro’ está fechado a novas respostas.