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

[SOLUCIONADO] Problema con filter_where

Estas en el tema de Problema con filter_where en el foro de WordPress en Foros del Web. Hola, estoy creando un Widget pero tengo un problema, una de las opciones del widget es que muestra los los de las ultimas 24 horas, ...
  #1 (permalink)  
Antiguo 18/05/2013, 15:15
Avatar de ilen  
Fecha de Ingreso: febrero-2009
Mensajes: 125
Antigüedad: 15 años, 9 meses
Puntos: 2
Exclamación Problema con filter_where

Hola, estoy creando un Widget pero tengo un problema, una de las opciones del widget es que muestra los los de las ultimas 24 horas, 48 horas y semanal, para eso uso la funci post_query con filter_where hasta ay todo bien el Widget me funciona perfecto y me lo muestra perfecto, pero al agregar otro widget del la mismo me sale que 'filter_where' esta declarado y me manda error

Código PHP:
Ver original
  1. if($interval=='48'){
  2. function filter_where_48($where = '') {
  3.                         //posts in the last 30 days
  4.                         $where .= " AND post_date > '" . date('Y-m-d', strtotime('-30 days')) . "'";
  5.                         return $where;
  6.                     }
  7.                     add_filter('posts_where', 'filter_where_48');  
  8. }elseif($interval=='24'){
  9. function filter_where_24($where = '') {
  10.                         //posts in the last 30 days
  11.                         $where .= " AND post_date > '" . date('Y-m-d', strtotime('-30 days')) . "'";
  12.                         return $where;
  13.                     }
  14.                     add_filter('posts_where', 'filter_where_24');  
  15. }
  16.  
  17. // luego de la consulta .... los remuevos
  18. remove_filter('posts_where', 'filter_where_24');
  19. remove_filter('posts_where', 'filter_where_48');

por lo que veo solo remuevo los filtro del Wordpress pero no remuevo la funcion, es decir si entra por 24 declara la funcion filter_where_24 ok todo funciona, pero si agregas otros Widget que vuelva amostrar los post de las ultimas 24 horas, osea 2 widget.. en la pagina el segundo me manda error porque me dice que la funcion filter_where_24 ya ha sido declarada...

alguien me puede ayudar a como hacer para para aplicar fintros sin que me ocurra eso del redeclaracion de funcion =/
  #2 (permalink)  
Antiguo 19/05/2013, 12:00
Avatar de 23r9i0  
Fecha de Ingreso: noviembre-2008
Ubicación: Catalonia
Mensajes: 203
Antigüedad: 16 años, 1 mes
Puntos: 33
Respuesta: Problema con filter_where

Sin mas codigo no se como lo has construido el widget pero basicamente tu widget esta mal construido ya que cada vez que añades uno redeclaras la funcion tendrias que declararla aparte o usar new WP_Query Time Parameters
  #3 (permalink)  
Antiguo 19/05/2013, 19:12
Avatar de ilen  
Fecha de Ingreso: febrero-2009
Mensajes: 125
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Problema con filter_where

Hola, si parece que hice mal poner la funcion que filtra en mismo archivo, lo solucione poniendola en un archivo aparte ay si cada vez que se agregen widget no hubo problema, gracias ;)

Etiquetas: post
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 08:21.