• Resolvido starssurfer

    (@starssurfer)


    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

A visualizar 7 respostas - de 1 a 7 (de um total de 7)
  • Moderador Zé Fontainhas

    (@vanillalounge)

    Estás a chamar o filtro comment_form_default_fields demasiado 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.

    Thread Starter starssurfer

    (@starssurfer)

    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 );
    ?>
    Moderador Zé Fontainhas

    (@vanillalounge)

    A maneira mais simples é tirares o campo ‘url’ da array $fields, acho eu

    Thread Starter starssurfer

    (@starssurfer)

    Olá, 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

    Moderador Zé Fontainhas

    (@vanillalounge)

    $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>':'' )
    		);
    Moderador Zé Fontainhas

    (@vanillalounge)

    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.

    Thread Starter starssurfer

    (@starssurfer)

    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

A visualizar 7 respostas - de 1 a 7 (de um total de 7)

O tópico ‘remover campo URL nos comentários wordpress tema Destro’ está fechado a novas respostas.