the_content - Wordpress, PHP, problema de codificación de URL
the_content wordpress not working (3)
@Jonathan tiene la razón por la cual, y la forma en que debes tratarlo en WordPress (es decir, usar la función correcta para el trabajo).
Aquí es cómo solucionarlo cuando no hay una función que devuelve una cadena:
ob_start();
the_permalink();
$permalink = ob_get_clean();
print(urlencode($permalink));
Wordpress proporciona una función llamada "the_permalink ()" que devuelve, lo adivinaste !, el enlace permanente a una publicación determinada mientras está en un bucle de publicaciones.
Estoy tratando de URL codificar ese enlace permanente y cuando ejecuto este código:
<?php
print(the_permalink());
$permalink = the_permalink();
print($permalink);
print(urlencode(the_permalink()));
print(urlencode($permalink));
$url = ''http://wpmu.local/graphjam/2008/11/06/test4/'';
print($url);
print(urlencode($url));
?>
produce estos resultados en HTML:
http://wpmu.local/graphjam/2008/11/06/test4/
http://wpmu.local/graphjam/2008/11/06/test4/
http://wpmu.local/graphjam/2008/11/06/test4/
http://wpmu.local/graphjam/2008/11/06/test4/
http%3A%2F%2Fwpmu.local%2Fgraphjam%2F2008%2F11%2F06%2Ftest4%2F
Esperaría que las líneas 2, 3 y 5 de la salida tengan codificación URL, pero solo la línea 5 es así. ¿Pensamientos?
the_permalink()
hace eco del the_permalink()
permanente
get_the_permalink()
devuelve el get_the_permalink()
permanente para que pueda asignarse a una variable.
(Lo mismo ocurre con la mayoría de las funciones en WordPress: the_something () tiene un get_the_something () para devolver el valor en lugar de repetirlo)
De acuerdo con los documentos, the_permalink
imprime el permalink vs lo devuelve. Entonces, urlencode
no está logrando codificar nada.
Prueba get_permalink
.
[ EDITAR ]
Un poco tarde para una edición, pero no me di cuenta de que los recuentos de impresión eran un problema.
Aquí es de donde vienen todos:
<?php
print(the_permalink()); // prints (1)
$permalink = the_permalink(); // prints (2)
print($permalink); // nothing
print(urlencode(the_permalink())); // prints (3)
print(urlencode($permalink)); // nothing
$url = ''http://wpmu.local/graphjam/2008/11/06/test4/'';
print($url); // prints (4)
print(urlencode($url)); // prints (5)
?>