Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/12/2010, 14:14
Avatar de Z3R0N3
Z3R0N3
 
Fecha de Ingreso: junio-2010
Ubicación: En algún lugar de la mancha de cuyo nombre no quiero acordarme...
Mensajes: 73
Antigüedad: 13 años, 10 meses
Puntos: 4
Mantener Parámetros vivos en un Plugin

Muy buenas señores, ante todo gracias por vuestra atención y espero que entre todos podamos dejar bien claro éste tema, ya que por más información que busco, no encuentro nada, quizás sea que no busqué bien pero... los resultados que encuentro no son los correctos.


Les explico: Imaginense que, he creado 1 página (/?page_id=62), y he instalado un plugin de mensajería interna que usa una única página (/?page_id=6) para realizar su cometido (escribir mensajes, bandeja de entrada, enviados... etc, todo en la página mostrada anteriormente)


Ahora bien, dentro de la página (/page_id=62) creo 3 enlaces (por ejemplo) en el que cada uno elige un itinerario diferente

Código:
<a href="/?itinerario=1&page_id=6&um_action=write_message">
<a href="/?itinerario=2&page_id=6&um_action=write_message">
<a href="/?itinerario=3&page_id=6&um_action=write_message">
itinerario que defino y envío por URL mediante la variable (/?itinerario= ) además de otras variables que son para el plugin, en éste caso me llevan la página para escribir mensaje.


En dicha página, yo recogo la variable... he probado con $_GET, $HTTP_GET_VARS, incluso por $_SESSION, ésta vez, voy a demostrarselo con la más sencilla, $_GET.

Código:
$itinerario = $_GET['itinerario'];

ECHO $itinerario;

Ok, ya estaría, ahora es cuando accedo a la página /?page_id=62 para verificar que los enlaces funcionan.


Clickeo en el primero y observo que la variable /?itinerario=1 se mantiene en la URL.

Aparece la sección para escribir nuevo mensaje (mencionada anteriormente y que también indiqué con las variables en el enlace), y todo correcto, me muestra el valor "1" como muestra de que la variable la ha recogido bien.


Ahora viene el problema, Clickeo en cualquier otro enlace del sitio (más concretamente en los enlaces del propio plugin) y.... obviamente la variable se pierde, y lo peor es que cuando vuelvo a acceder a "escribir mensaje" como también es obvio no muestra la variable porque no existe!

¿Cómo puedo mantener esa variable viva en todo el plugin?, es decir, que independiente del enlace que pulse en el plugin, siempre se mantenga la variable.


He probado a meterlo en el archivo principal (user messages.php, ya que el plugin es el User Messages de Vicent Prat) del plugin a través de $_SESSION pero seguimos en las mismas, se pierde la variable.


Lo que pretendo conseguir es que, el archivo "escribir mensaje" alterarlo de tal forma que dependiendo del itinerario elegido o enlace elegido, muestre unos contenidos u otros (ya los he programado yo), pero no hay forma de que esa variable siga viva para que realice su cometido.


La historia está....¿existen archivos donde yo pueda definir o reescribir esa regla?


Observando el plugin he llegado hasta aquí pero nose si estoy bien encaminado:

Código:
$base_interface_url = 'index.php?page_id=' . $id;	

// rewrite rules for actions			
//--			

$criteria = str_replace('-', '\-', $this->options["interface_" . UM_PREFERENCES_ACTION . "_slug"]);

$additional_rewrite_rules[ '.*' . $slug_criteria . '/' . $criteria . '/?$' ] = $base_interface_url . '&um_action=' . UM_PREFERENCES_ACTION;

supongo que si yo hago algo sencillo y por ejemplo así:

Código:
IF ( $itinerario == 1 ) {
$base_interface_url = 'index.php?itinerario=1&page_id=' . $id;
} ELSEIF ( $itinerario == 2 ) {
$base_interface_url = 'index.php?itinerario=2&page_id=' . $id;
} ELSE {
$base_interface_url = 'index.php?page_id=' . $id;
}

Debería rescribir la condición que he definido pero... nada de nada, incluso lo he complicado más con swith y function y.... sin resultados.

También probé a usar plugins como "YD Spread Parameter" o el siguiente: "http://www.webopius.com/content/137/using-custom-url-parameters-in-wordpress"

Pero nose si es que no sé hacerlo o no son compatibles para plugins o qué, pero no me hacen ni caso...


Y bueno, ese es el problema, espero que puedan ayudarme y muchísimas gracias nuevamente, estaré al tanto de vuestras respuestas y espero que la solución a éste problema le sirva a los demás usuarios que como yo, no saben mantener una variable viva en un plugin de wordpress.


Gracias y Salu2.

Última edición por Z3R0N3; 28/12/2010 a las 14:20