Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/05/2013, 15:15
Avatar de ilen
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 =/