A minha ideia era usar o campo url para adicionar outro tipo de dado, ao invés de usar para o site do visitante queria usar para armazenar um campo cidade, so que ele colocava o http na frente, estava fazendo uma gambiarra.
Encontrei uma solução mais viável que é colocar um campo extra nos comentarios, e removi o campo url, ficou 100%, abaixo a solução:
Remover o campo URL:
function remove_comment_fields($fields) {
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields','remove_comment_fields');
Função para adicionar um campo extra:
function add_comment_fields($fields) {
$fields['cidade'] = '<p class="comment-form-age"><label for="cidade">' . __( 'Cidade' ) . '</label>' .
'<input id="cidade" name="cidade" type="text" size="30" /></p>';
return $fields;
}
add_filter('comment_form_default_fields','add_comment_fields');
function add_comment_meta_values($comment_id) {
if(isset($_POST['cidade'])) {
$cidade = wp_filter_nohtml_kses($_POST['cidade']);
add_comment_meta($comment_id, 'cidade', $cidade, false);
}
}
add_action ('comment_post', 'add_comment_meta_values', 1);
Onde cidade é o campo que estou adicionando ao formulario de comentario.
Adicionando o campo no formulario no template comment:
$fields = array(
'cidade' => '<p class="comment-form-email"><label for="cidade">' . 'Cidade' . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
'<input id="cidade" name="cidade" type="text" value="' . esc_attr( $commenter['cidade'] ) . '" size="30"' . $aria_req . ' /></p>'
);
Listando o campo nos comentarios (callback):
echo "<li><strong>Cidade</strong>: ".get_comment_meta($comment->comment_ID, 'cidade', true)."</li>";
É isso, espero que seja util para mais alguem.
Fontes:
WPTUTS
CODEX
(@angelorocha)
11 anos, 11 meses atrás
Preciso fazer com que o campo dos comentarios “Site (comment_author_url)” nao imprima o http:// automaticamente na frente do nome do site de quem comentar, ja rodei na net atras de algum hack para remover o “http://” mais nao encontrei nada, alguem tem alguma ideia de como fazer isso?