Separar comentarios por categoría: ¿Plugin o modificación?

  • Autor Autor MaxS
  • Fecha de inicio Fecha de inicio
MaxS

MaxS

Gamma
Verificación en dos pasos activada
Hola,

Estoy tratando de separar comentarios por categoría, por más que busqué un plugin e intente hacerlo, no encontré nada.

Tal vez ustedes tengan alguna idea de un plugin que haga eso, o tal vez uno similar para modificar, sería de mucha ayuda.
 
Es la primera vez que oigo algo así y creo que no existirá ningún plugin que lo haga.

La única solución que te queda es hacerlo a través de programación. No debería ser complicado, crear un nuevo tipo de terms y relacionarlos con los comentarios, que ya para ello tendrías que crear un sistema de relación diferente al que viene con Wordpress, ya que ese lo hace automáticamente con los posts.
 
Es la primera vez que oigo algo así y creo que no existirá ningún plugin que lo haga.

La única solución que te queda es hacerlo a través de programación. No debería ser complicado, crear un nuevo tipo de terms y relacionarlos con los comentarios, que ya para ello tendrías que crear un sistema de relación diferente al que viene con Wordpress, ya que ese lo hace automáticamente con los posts.

Estaba pensando que si se puede adicionar campos en la caja de comentarios, ej:

Nombre___
web___
email___
+tipo:__ (2 opciones: critica, comentario).

Luego separarlos por "Critica" y "Comentario" con un IF o algo así. Se podría hacer algo parecido?.. como e adiciona campos nuevos en la caja de comentarios?.
 
Sí por supuesto, se puede hacer.

Tendrías dos opciones, usar el commentmeta o el terms. De todos modos, tendrías que cambiar el comportamiento de Wordpress a la hora de mostrarte los comentarios para que se adapte a lo que buscas.
 
Ya voy avanzando sobre lo que me dijiste, Gracias.. Si tengo alguna duda te comento por aquí, espero poder seguir recibiendo tu ayuda 😉

---------- Post agregado el 13-feb-2014 hora: 19:42 ----------

Tengo esto en comments.php

PHP:
$fields =  array(
    'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
        '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
    'email'  => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
        '<input id="email" name="email" type="text" value="' . esc_attr(  $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',
    'url'    => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label>' .
        '<input id="url" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /></p>',
	'categoria'    => '<p class="comment-form-categoria"><label for="categoria">' . __( 'categoria' ) . '</label>' .
        '<input id="categoria" name="categoria" type="text" value="' . esc_attr( $commenter['comment_author_categoria'] ) . '" size="30" /></p>'
);

$commenter = wp_get_current_commenter();
$req = get_option( 'require_name_email' );
$aria_req = ( $req ? " aria-required='true'" : '' );
$fields =  array(
    'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
        '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
    'email'  => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
        '<input id="email" name="email" type="text" value="' . esc_attr(  $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',
	'url'    => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label>' .
        '<input id="url" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /></p>',
	'categoria'    => '<p class="comment-form-categoria"><label for="categoria">' . __( 'categoria' ) . '</label>' .
        '<input id="categoria" name="categoria" type="text" value="' . esc_attr( $commenter['comment_author_categoria'] ) . '" size="30" /></p>'
);
 
$comments_args = array(
    'fields' =>  $fields,
    'title_reply'=>'Titulo respuesta',
    'label_submit' => 'Eviar'
);
 
comment_form($comments_args);

y en functions.php esto

PHP:
function add_comment_fields($fields) {
 
    $fields['categoria'] = '<p class="comment-form-categoria"><label for="categoria">' . __( 'Categoria' ) . '</label>' .
        '<input id="categoria" name="age" 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['categoria'])) {
        $age = wp_filter_nohtml_kses($_POST['categoria']);
        add_comment_meta($comment_id, 'categoria', $age, false);
    }
 
}
add_action ('comment_post', 'add_comment_meta_values', 1);

Algo anda mal, por que no envía la categoría, alguna idea?
 
¿Has comprobado que se guarda la categoría en wp_commentmeta?
 
De pronto deberías buscar algún servicio en la nube para el tema de comentarios
  • disqus
  • livefyre
  • intensedebate
son los más populares
 
¿Has comprobado que se guarda la categoría en wp_commentmeta?

Ver el archivo adjunto ExtendComment.zip

Encontré un plugin que logra colocar fields en los comentarios, me sirve de mucho.
Y sí, se guarda en wp_commentmeta con un meta_key y un meta_value, me podrías dar una pista de como hacer para separarlos por meta_key?

Gracias 🙂

De pronto deberías buscar algún servicio en la nube para el tema de comentarios
  • disqus
  • livefyre
  • intensedebate
son los más populares


Si, pensaba usar uno de esos servicios para los comentarios. Pero los comentarios de wordpress lo estoy usando para otro fin, que no es de comentar.
Usaré uno de esos servicios para los comentarios, Gracias 🙂
 
Atrás
Arriba