Ver Mensaje Individual
  #16 (permalink)  
Antiguo 29/11/2010, 17:12
Avatar de metacortex
metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 11 meses
Puntos: 832
Respuesta: Error al crear un contador de visitas para cada posts

Hey calma amigo,

Cita:
Iniciado por AlZuwaga Ver Mensaje
No sé, no sé... a mi me ocurrió tanto con un theme que estoy haciendo como con el que viene por defecto con WP (que, se supone, o quiero creer, no debería estar hecho de manera tan deportiva como decís). Lo probé en ambos sólo para descartar justamente que sea un problema mío.
Pues funciona correctamente en la plantilla Twenty Ten. Revisa si lo colocaste dentro del loop:

Código PHP:
Ver original
  1. <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
  2. <?php
  3. $conteo = get_post_meta(get_the_ID() , 'visitas' , true);
  4. $visitas = update_post_meta(get_the_ID() , 'visitas' , ($conteo + 1));
  5. echo $conteo + 1;
  6. ?>
  7. ...

Cita:
Iniciado por AlZuwaga Ver Mensaje
... la verdad no le veo mayor riesgo en cuanto a seguridad.
Quizás sea porque al momento de escribirlo no tomaste en cuenta que después de todo estamos tratando con un CMS. En el caso del query que mencionas, la forma correcta y segura de escribirlo en WordPress sería:

Código PHP:
Ver original
  1. $visita = $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET visitas = visitas + 1 WHERE ID = ". get_the_ID()) );
Revisa esto: http://codex.wordpress.org/Function_...ection_Attacks

Pero en este caso es innecesario subir en escalera si tienes un ascensor. Existen funciones y recursos con todos esos dispositivos incluidos y muchos más, así como formas de proceder sin necesidad de alterar los datos de núcleo.