Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Cómo evitar que ciertas categorías sean comentadas

Estas en el tema de Cómo evitar que ciertas categorías sean comentadas en el foro de WordPress en Foros del Web. Tengo las categorías A, B, C y D Pero quiero evitar que la categoría "A" tenga comentarios..... ¿hay forma de hacer eso? Saludos...
  #1 (permalink)  
Antiguo 05/09/2011, 15:43
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 10 meses
Puntos: 8
De acuerdo Cómo evitar que ciertas categorías sean comentadas

Tengo las categorías A, B, C y D

Pero quiero evitar que la categoría "A" tenga comentarios..... ¿hay forma de hacer eso?

Saludos

  #2 (permalink)  
Antiguo 05/09/2011, 17:38
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 10 meses
Puntos: 535
Respuesta: Cómo evitar que ciertas categorías sean comentadas

se me ocurre que algo como esto:

if(!is_category('A')){
// se permiten los comentarios
}
__________________
...___...
  #3 (permalink)  
Antiguo 05/09/2011, 20:03
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 10 meses
Puntos: 8
Respuesta: Cómo evitar que ciertas categorías sean comentadas

Cita:
Iniciado por AlZuwaga Ver Mensaje
se me ocurre que algo como esto:

if(!is_category('A')){
// se permiten los comentarios
}
mmmm, jejeje, algo más concreto como para un novato como yo.....el diagrama de flujo está bien, pero cómo hacerlo en el lenguaje propio.

Saludos


  #4 (permalink)  
Antiguo 05/09/2011, 20:35
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 8 meses
Puntos: 461
Respuesta: Cómo evitar que ciertas categorías sean comentadas

que tanto has traajado con Wordpress?? hay un archivo dentro de tu theme llamado comments.php ahi es donde debes de hacer lo que te indico el amigo AlZuwaga, algo así
Código PHP:
Ver original
  1. if(!is_category('A)) {
  2.    comment_form();
  3. }
saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 06/09/2011, 11:08
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 10 meses
Puntos: 8
Respuesta: Cómo evitar que ciertas categorías sean comentadas

Gracias Carlos, la verdad que soy muy novato en esto, le entro a la programación de muchos script pero modificar el lenguaje puro de PHP allí sufro las consecuencias, pero ustedes que son los más versados en el tema me pueden echar un cable por favor.

Este es mi página de comentarios.php

Código PHP:
<?php // Do not delete these lines
    
if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
        die (
'Please do not load this page directly. Thanks!');

    if (!empty(
$post->post_password)) { // if there's a password
        
if ($_COOKIE['wp-postpass_' COOKIEHASH] != $post->post_password) {  // and it doesn't match the cookie
            
?>

            <p class="nocomments">This post is password protected. Enter the password to view comments.<p>

            <?php
            
return;
        }
    }

    
/* This variable is for alternating comment background */
    
$oddcomment 'alt';
?>

<!-- You can start editing here. -->

<div id="commentblock">
<?php if ($comments) : ?>

    <b><?php comments_number('No Comments''One Comment''% Comments' );?> on "<?php the_title(); ?>"</b><br /><br />

    <ol class="commentlist">

    <?php foreach ($comments as $comment) : ?>
    
    <div class="commentleft">

        <li class="<?php echo $oddcomment?>" id="comment-<?php comment_ID() ?>">
            <p><b><?php comment_author_link() ?> on <?php if ($comment->comment_approved == '0') : ?>
            <em>Su comentario está en espera de moderación.</em>
            <?php endif; ?><?php comment_date('D, jS M Y'?> <?php comment_time() ?>&nbsp;<?php edit_comment_link('(Edit)','',''); ?></b></p>
            <div style="float:left;margin:0px 10px 0px 0px;"><?php echo get_avatar$comment$size '70' ); ?></div><?php comment_text() ?>            
    
    </div>
    
    <div style="border-bottom:1px dotted #C0C0C0; margin-bottom:10px; padding:0px 0px 0px 0px; clear:both;"></div>
    
        </li>
    
    <?php endforeach; /* end for each comment */ ?>
    
    </ol>

 <?php else : // this is displayed if there are no comments so far ?>

    <?php if ('open' == $post->comment_status) : ?>
        <!-- If comments are open, but there are no comments. -->

     <?php else : // comments are closed ?>
        <!-- If comments are closed. -->
        <p class="nocomments">Los comentarios están cerrados.</p>

    <?php endif; ?>
<?php 
endif; ?>

<div style="clear:both;"></div>


<?php if ('open' == $post->comment_status) : ?>

<p id="respond"><b>Déjanos saber tus comentarios sobre este tema<br /></p>

<?php if ( get_option('comment_registration') && !$user_ID ) : ?>
<p>Usted debe ser<a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">logged in</a> Para publicar un comentario.</p>
<?php else : ?>

<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">

<?php if ( $user_ID ) : ?>

<p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="Log out of this account">Logout &raquo;</a></p>

<?php else : ?>

<p><label for="name">Tú Nombre<?php if ($req) echo "(Requirido)"?></label><br />
<input type="text" name="author" id="name" value="<?php echo $comment_author?>" size="50" tabindex="1" /></p>

<p><label for="email">Tú Email<?php if ($req) echo "(Requirido)"?></label><br />
<input type="text" name="email" id="email" value="<?php echo $comment_author_email?>" size="50" tabindex="2" /></p>

<p><label for="url">Tú Sitio Web<?php echo "(Opcional)"?></label><br />
<input type="text" name="url" id="url" value="<?php echo $comment_author_url?>" size="50" tabindex="3" /></p>

<?php endif; ?>

<!--<p><small><strong>XHTML:</strong> You can use these tags: <?php echo allowed_tags(); ?></small></p>-->

<p><label for="words">Tú Comentario</label><br /><textarea name="comment" id="words" cols="40" rows="10" tabindex="4"></textarea></p>

<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
<input type="hidden" name="comment_post_ID" value="<?php echo $id?>" /></p>

<?php do_action('comment_form'$post->ID); ?>

</form>

<?php endif; // If registration required and not logged in ?>

<?php endif; // if you delete this the sky will fall on your head ?>

</div>
La categoría sobre el cual no quiero mostrar comentarios sería "nosotros" cuyo tag_id=7

Saludos

  #6 (permalink)  
Antiguo 06/09/2011, 12:21
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 8 meses
Puntos: 461
Respuesta: Cómo evitar que ciertas categorías sean comentadas

aca tienes la referencia de is_category, ve ahi como eliges entre las diferentes categorias, tu theme tiene el formulario en HTML, lo que debes de hacer es el condicional que ya te indicamos AlZuwaga y yo con anterioridad antes de abrir el form, que es esta linea
Cita:
Código PHP:
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
y el fin obvio que es donde esta el </form> , verifica y nos cuentas como te fue
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 06/09/2011, 12:38
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 10 meses
Puntos: 8
Respuesta: Cómo evitar que ciertas categorías sean comentadas

ok, master, entonces se supone que debe quedar algo así....pero cómo le digo que no muestre comentarios si la categoría es "nosotros", sólo basta con "comment_form();"


Código PHP:

    if(!is_category('Nosotros')) {
       comment_form(); // cuál sería el código para que no muestre comentarios?
    else
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
     }
lo acabo de probar y no me funcionó, sin duda algo falla.....
  #8 (permalink)  
Antiguo 06/09/2011, 14:28
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 10 meses
Puntos: 535
Respuesta: Cómo evitar que ciertas categorías sean comentadas

Momento. Vos decís que querés evitar que los posts de la categoría 'A' tengan comentarios. Pues, hay dos formas de verlo:

1. Impedir dejar comentarios si el post es de esa categoría. Por lo tanto no tendrá.
2. No mostrar los comentarios de los posts de esa categoría.


Aunque podés optar por ambas. Y supongo la forma de implementarlo dependerá del theme que uses. Yo te doy un ejemplo con el theme por defecto: twentyeleven

En el archivo single.php:


Código:
<?php
if( ! in_category('Nosotros') ) {
    comments_template( '', true );
}
?>
Con lo anterior lográs lo del punto 2

Y en el archivo comments.php

Código:
<?php
if( ! in_category('Nosotros') ) {
    comment_form();
}
?>
Con lo anterior lográs lo del punto 1
__________________
...___...

Última edición por AlZuwaga; 06/09/2011 a las 15:02
  #9 (permalink)  
Antiguo 06/09/2011, 15:02
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 10 meses
Puntos: 535
Respuesta: Cómo evitar que ciertas categorías sean comentadas

Perdón. Puse siempre is_category cuando debería haber puesto in_category. Corregido en el post anterior.
__________________
...___...
  #10 (permalink)  
Antiguo 06/09/2011, 16:04
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 10 meses
Puntos: 8
Respuesta: Cómo evitar que ciertas categorías sean comentadas

Gracias AlZuwaga, me conmueve tu aporte pero no logro hacerle funcionar........estoy adoptando la opción en los comentarios directamente, pero creo que el problema es.............dónde pongo el código.....he probado en algunas secciones y no surte efecto pero al ponerlo encima del <Form...... me desconfigura la caja del formulario......pero igual se ve....
  #11 (permalink)  
Antiguo 06/09/2011, 16:34
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 10 meses
Puntos: 8
Respuesta: Cómo evitar que ciertas categorías sean comentadas

Hey amigo ya casi lo tengo, sólo que me desconfigura la pantalla, probé con "in_" y con "is_" en ambos surte el mismo efecto, mi sidebar de la derecha desaparece....


Lo he puesto así........allí no falta un "else"?

Código PHP:
<?php if(in_category('nosotros')) {   comments_template(''true ); } 

<
form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
?>
  #12 (permalink)  
Antiguo 06/09/2011, 20:05
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 8 meses
Puntos: 461
Respuesta: Cómo evitar que ciertas categorías sean comentadas

lo que estas haciendo no es correcto, fijate lo que te indico el amigo
Cita:
Iniciado por AlZuwaga Ver Mensaje
M
En el archivo single.php:


Código:
<?php
if( ! in_category('Nosotros') ) {
    comments_template( '', true );
}
?>
Con lo anterior lográs lo del punto 2

Y en el archivo comments.php

Código:
<?php
if( ! in_category('Nosotros') ) {
    comment_form();
}
?>
Con lo anterior lográs lo del punto 1
te remarque en negrita la indicación que te da de cual es el archivo, tu según veo estas uniendo las cosas en el archivo comments.php, verifica cual de las dos te sirve mas, yo recuerdo qe una vez me toco hacer algo parecido pero por usuarios registrados y lo hice editando el single, pero de ambas formas deberia de funcionar, revisa y nos comentas
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #13 (permalink)  
Antiguo 06/09/2011, 21:32
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 10 meses
Puntos: 8
Respuesta: Cómo evitar que ciertas categorías sean comentadas

Si, tenías razón amigo, me había equivocado al citar pero es correcto lo que dije anteriormente, lo que pasa es que no sé donde poner el código que me dieron lo probé así y no surte efecto para nada

Código PHP:
<?php if(! in_category('nosotros')) { comment_form();} ?>


<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
Lo probé así pero se me desaparece la barra de la derecha

Código PHP:
<?php if(! in_category('nosotros')) { comment_form();} 


<
form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">

?>
algo falla........S.O.S.

Última edición por el_tigre; 06/09/2011 a las 21:43
  #14 (permalink)  
Antiguo 07/09/2011, 04:56
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 8 meses
Puntos: 656
Respuesta: Cómo evitar que ciertas categorías sean comentadas

el_tigre, podría pedirte que publiques la parte del single.php original en donde llama a los comentarios?
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #15 (permalink)  
Antiguo 07/09/2011, 06:17
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 10 meses
Puntos: 8
Respuesta: Cómo evitar que ciertas categorías sean comentadas

Hola Nekko, en mi caso no es single.php sino index.php

Código PHP:
<div class="comments">
    
            <h4>Comentarios</h4>
            
            <?php comments_template(); // Get wp-comments.php template ?>
            
        </div>
También lo probé aquí y me aparecen para llenar 2 veces el comentario

Código PHP:
<?php
if( ! in_category('Nosotros') ) {
    
comments_template''true );
}
?>
<?php comments_template
(); // Get wp-comments.php template ?>
también lo probé así y allí muestra error

Código PHP:
<?php
if( ! in_category('Nosotros') ) {
    
comments_template''true );
}

<?
php comments_template(); // Get wp-comments.php template ?>
?>
  #16 (permalink)  
Antiguo 07/09/2011, 06:23
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 8 meses
Puntos: 656
Respuesta: Cómo evitar que ciertas categorías sean comentadas

Fijate así y contame si te funciona.

Código PHP:
Ver original
  1. <?php if( !in_category('Nosotros') ) { ?>
  2. <div class="comments">
  3.    
  4.             <h4>Comentarios</h4>
  5.            
  6.             <?php comments_template(); // Get wp-comments.php template ?>
  7.            
  8.         </div>
  9. <?php } ?>
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #17 (permalink)  
Antiguo 07/09/2011, 08:09
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 10 meses
Puntos: 8
Respuesta: Cómo evitar que ciertas categorías sean comentadas

Excelente Nekko, eso es correcto, funciona bien.......sólo tengo un pequeño problema que no se de dónde proviene ahora....el sidebar de la derecha ahora las letras aparecen en negrita, salvo para la categoría "nosotros" ni tampoco al inicio cuando carga la página ver
  #18 (permalink)  
Antiguo 07/09/2011, 09:43
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 8 meses
Puntos: 656
Respuesta: Cómo evitar que ciertas categorías sean comentadas

Hay una etiqueta <b> sin cierre por algún lado, me arriesgo a decir que dentro de comments.php...
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #19 (permalink)  
Antiguo 07/09/2011, 10:12
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 10 meses
Puntos: 8
De acuerdo Respuesta: Cómo evitar que ciertas categorías sean comentadas

Woooo, excelente amiga, gracias, realmente muy bueno

  #20 (permalink)  
Antiguo 07/09/2011, 10:15
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 8 meses
Puntos: 656
Respuesta: Cómo evitar que ciertas categorías sean comentadas

Me alegro que te haya funcionado!
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP

Etiquetas: comentarios, ciertos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:58.