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

Problema raro con printf()

Estas en el tema de Problema raro con printf() en el foro de WordPress en Foros del Web. Hola a todos, Estoy intentando dotar de soporte para localización a un tema de Wordpress y me estoy volviendo loco por que todo funciona perfectamente ...
  #1 (permalink)  
Antiguo 16/11/2008, 14:28
Avatar de nflamel  
Fecha de Ingreso: agosto-2005
Ubicación: Granada
Mensajes: 41
Antigüedad: 18 años, 9 meses
Puntos: 0
Problema raro con printf()

Hola a todos,

Estoy intentando dotar de soporte para localización a un tema de Wordpress y me estoy volviendo loco por que todo funciona perfectamente bien excepto una cadena, por que no soy capaz de que printf() la formatee bien.

La sentencia en cuestión es esta:
Código php:
Ver original
  1. printf(__('This entry was posted on %1$s at %2$s and filed under %3$s. ', 'wam'),the_time('l, F jS, Y'), the_time(), the_category(', '));

He probado también a hacer esto, pero el resultado es el mismo

Código php:
Ver original
  1. printf('This entry was posted on %1$s at %2$s and filed under %3$s. ',the_time('l, F jS, Y'), the_time(), the_category(', '));

El resultado es en todos los casos el mismo. Se imprimen los argumentos de printf por orden y después la cadena.

He probado todo, y no consigo solucionarlo, alguna sugerencia?
  #2 (permalink)  
Antiguo 17/11/2008, 00:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Problema raro con printf()

tal ves no necesites printf... sino sprintf

demás, ya investigaste en el manual ???

http://php.net/sprintf
http://php.net/printf
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 17/11/2008, 02:35
Avatar de nflamel  
Fecha de Ingreso: agosto-2005
Ubicación: Granada
Mensajes: 41
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Problema raro con printf()

Cita:
Iniciado por pateketrueke Ver Mensaje
tal ves no necesites printf... sino sprintf

demás, ya investigaste en el manual ???
Muchas gracias por tu respuesta :)

Ya he probado a modificar el programa para que use sprintf y nada y me he leído el manual de arriba abajo... tampoco hay ninguna solución, ni en el manual propiamente dicho, ni en los comentarios. :(

Además, no necesito sprintf, lo que pretendo es imprimir una cadena de texto en la página web, para eso sirve printf, sprintf sirve para otra cosa.
  #4 (permalink)  
Antiguo 17/11/2008, 03:31
Avatar de Deschamps  
Fecha de Ingreso: octubre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 8
Respuesta: Problema raro con printf()

¿La funciones que utilizas (the_time, etc) tienen un string como retorno?
  #5 (permalink)  
Antiguo 17/11/2008, 07:51
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Problema raro con printf()

Como dice Deschamps, hay un problma en las funciones de WP. Sino proba esto y verás que es lo mismo (tecnicamente) y funciona:

Código php:
Ver original
  1. <?
  2. printf('This entry was posted on %1$s at %2$s and filed under %3$s.','uno', 'dos', 'tres');
  3. ?>
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #6 (permalink)  
Antiguo 17/11/2008, 11:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema raro con printf()

Tema trasladado a Wordpress.
  #7 (permalink)  
Antiguo 17/11/2008, 18:29
Avatar de nflamel  
Fecha de Ingreso: agosto-2005
Ubicación: Granada
Mensajes: 41
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Problema raro con printf()

Cita:
Iniciado por Deschamps Ver Mensaje
¿La funciones que utilizas (the_time, etc) tienen un string como retorno?
Cita:
Iniciado por nicolaspar Ver Mensaje
Como dice Deschamps, hay un problma en las funciones de WP. Sino proba esto y verás que es lo mismo (tecnicamente) y funciona:

Código php:
Ver original
  1. <?
  2. printf('This entry was posted on %1$s at %2$s and filed under %3$s.','uno', 'dos', 'tres');
  3. ?>
Muchas gracias a los 2 por vuestra respuesta.

Probaré a con otro método para ver si el problema puede ser del tipo de dato que devuelven esas funciones, sin embargo he visto esa misma llamada funcionando tal cual yo la he usado en otros temas de Wordpress y nunca me ha dado ningún problema.

PS: Gracias al staff por la "mudanza" :)
  #8 (permalink)  
Antiguo 14/12/2008, 09:47
Avatar de nflamel  
Fecha de Ingreso: agosto-2005
Ubicación: Granada
Mensajes: 41
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Problema raro con printf()

Bueno, refloto solo para decir que al final había un problema en mi código. La función 'the_time()' de Wordpress imprime la fecha en el formato que se le pasa. Si lo que queremos es un String que represente la fecha hay que usar la función 'get_the_time()'.

Saludos y gracias por vuestra ayuda.
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 20:45.