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

Call to undefined function wp_get_current_user()

Estas en el tema de Call to undefined function wp_get_current_user() en el foro de Sistemas de gestión de contenidos en Foros del Web. Hola muy buenas, vengo a explicaros un tema que me está comiendo un poco el coco... Al parecer me he dispuesto a modificar un plugin ...
  #1 (permalink)  
Antiguo 01/04/2011, 08:25
Avatar de 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, 9 meses
Puntos: 4
Call to undefined function wp_get_current_user()

Hola muy buenas, vengo a explicaros un tema que me está comiendo un poco el coco...

Al parecer me he dispuesto a modificar un plugin de Wordpress llamado "Kalin's PDF Creation Station" en Wordpress 3.0.3

En él, simplemente quiero añadir las siguientes lineas:

Código:
$datos = wp_get_current_user();
$dni = "$datos->dni__nif";

Para luego hacer esto:

Código:
$fileName = $dni.$singlePost->post_name .'.pdf';
Lo único que busco es que cuando el usuario pulse en generar el documento .pdf, éste se genere con el nº de dni más el resto de datos.

Obviamente en la linea anterior y sin poner nada si yo pongo "hola" el PDF se genera como Hola.....pdf, no hay problema, el problema está al recoger los datos del usuario mediante wp_get_current_user() (en el inicio de la page.php) en el que me tira la siguiente linea de error:


Código:
Fatal error: Call to undefined function wp_get_current_user() in C:\inetpub\vhosts\miweb.info\httpdocs\wp-content\plugins\kalins-pdf-creation-station\kalins_pdf_create.php on line 3

Me parece algo extraño y más cuando uso esa misma función en Post, páginas incluso en otros plugins y no me dan ningún problema.


También he probado con get_currentuserinfo(); y otras llamadas a funciones que supuestamente devuelven dichos datos del usuario. pero nada, me sigue diciendo "Call to undefined function...."


Según he leido por ahí al parecer es un problema de activación de los plugins ya que el archivo que se encarga de gestionarlos se carga al final de ejecutarse todos los plugins activos.

Igualmente he probado a desinstalar el control, cambiar el nombre del directorio de plugins, desactivar todos ellos y activarlos uno a uno mientras probaba y... nada, me sigue apareciendo el mismo error.


Bueno espero que puedan ayudarme o al menos darme alguna idea ya que me está trayendo bastantes quebraderos de cabeza por ésta tonteria...


Bueno, nuevamente Gracias y Saludos.
  #2 (permalink)  
Antiguo 01/04/2011, 20:12
Avatar de tomerqueves  
Fecha de Ingreso: marzo-2005
Ubicación: algeciras (cadiz)
Mensajes: 200
Antigüedad: 19 años
Puntos: 7
Respuesta: Call to undefined function wp_get_current_user()

Pues son los ganchos de las funciones.
En la galeria de clases no está definida esa funcion
tu puedes usar esa funcion en otros plugíns porque en su class.php tienen ya definidas las funciones. Por más vueltas que yo le de explicandotelo yo lo que veo es que tienes que nganchar la función y una vez enganchada ya la reconoce el API de tu plugin.

Bueno, puedo decirtelo porque ahora mismo ando modificando un hello dolly y he estado viendo el tema.

Estoy haciendo un pequeño manual y en el podrás encontrar el artículo al que refiero en el post que se llama Haciendo un plugin de wordpress o algo así.

La página es http://curriculum.0fees.net/

No te pongo la página directo no solo para anotarme el click sino porque es que no me lo sé de memoria y sí se que estoy editando allí esa especie de manual de plugins y he visto hoy el tema.

El caso queda claro, no? ... la función existe o hay que definirla pero antes de usarla la TIENES QUE INSTANCIAR de un modo tendrás que llamarlo en el header de tu plugin de tu página. Bien invocando a un plugin que ya lo tenga instanciado, bien instanciando tu mismo... Me corrigen?
__________________
A todos los moderadores y admiinistradores. Si algun día me banean, por favor devolverme la carita de mi avatar
  #3 (permalink)  
Antiguo 03/04/2011, 17:46
Avatar de 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, 9 meses
Puntos: 4
Respuesta: Call to undefined function wp_get_current_user()

gracias por tu respuesta tomerqueves;

he revisado el enlace que me has pasado y la relación que encuentro a lo que quiero es la llamada a la función "add_action(,)" pero tras probarla no la consigo hacer funcionar.

también he probado a hacer lo que me dices, de intentar instanciar o incluir el archivo "puggable.php" al plugin antes de seguir con el resto del código y lo he hecho así:

Código:
if (!function_exists('wp_get_current_user')) require('/wp-includes/pluggable.php');
$datos = wp_get_current_user();
$dni = "$datos->dni__nif";
sigo con el mismo problema sino que ahora me dice que no puede hacer Require

Código:
require(/wp-includes/pluggable.php) [function.require]: failed to open stream: No such file or directory in

De todas formas estoy intentando investigar como hacerlo ya que desde el Sidebar donde estoy llamando a éste plugin para que genere el PDF, no me deja incluir php así como así para al menos pasarle una variable o... un parámetro por GET, supongo que en esto último no hay problema pero... me parece un poco peligroso pasar el DNI por GET.


¿Me podrían echar una mano a instanciar esa función para darle uso en la carga del plugin??


Bueno muchísimas gracias nuevamente y... haber que conseguimos :D, Salu2
  #4 (permalink)  
Antiguo 04/04/2011, 03:38
Avatar de 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, 9 meses
Puntos: 4
Respuesta: Call to undefined function wp_get_current_user()

Bueno señores, les cuento mis avances;


Dado que no me dejaba incluir la función wp_get_current_user(); no he decidido perder más tiempo y buscar alguna salida.


Como bien dije en la respuesta anterior, al final me he decidido por pasar una variable en el enlace por GET y que así genere el documento pertinente (funcionando).


Ahora el problema está con un UNLINK();

ya que dentro del propio plugin aparece la siguiente función;


Código:
	if(file_exists($pdfDir .$fileName)){
		if(!isset($skipReturn)){
			unlink('wp-content/uploads/kalins-pdf/singles/'.$fileName);
		}
		return;
	}

Supongo que la ruta que le indico no es la correcta pero tras hacer varias pruebas el servidor siempre me dice lo mismo:

Código:
Warning: unlink(wp-content/uploads/kalins-pdf/singles/7contrato-de-prestacion-de-servicios-profesionales.pdf) [function.unlink]: No such file or directory in C:\inetpub\vhosts\asesoriaparasordos.es\httpdocs\wp-content\plugins\kalins-pdf-creation-station\kalins_pdf_create.php on line 65

Supongo que por temas de permisos tampoco será ya que tengo marcado control total en el directorio "/singles/".


También me hace pensar que puede ser sencilla la resolución al problema pero si ya puestos me echan una mano a definir bien el "Unlink" para que elimine el archivo y lo vuelva a generar... por mí encantadisimo de la vida :D


Bueno seguiré revisando la url o los permisos para ver xké falla.



Gracias nuevamente y Saludos.
  #5 (permalink)  
Antiguo 05/04/2011, 02:16
Avatar de 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, 9 meses
Puntos: 4
Respuesta: Call to undefined function wp_get_current_user()

Bueno actualizo la información del POST y bueno, he de decir que supuestamente ya lo he solucionado aunque aún queda un pequeño error.

La linea de la solución es la siguiente:

Código:
	if(file_exists($pdfDir .$fileName)){
		if(!isset($skipReturn)){
			unlink($pdfDir. $fileName);
		}
		return;
	}

Y el pequeño problema es que tengo que pulsar 2 veces a la llamada al plugin, para que en la 1ª vez elimine el archivo.pdf (quedandose el navegador con la pantalla en blanco y totalmente parado), y en la 2ª lo vuelva a generar el archivo.pdf y lo muestre.


Supongo que con algún return o algo por el estilo lo solucionaré por lo que indagaré un poco haber que encuentro o que me responden ustedes.


Bueno muchísimas gracias y Salu2

Etiquetas: aplicaciones-prefabricadas, call, function, undefined
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 18:51.