Diferencia entre la función the_permalink () y get_permalink ()


9

En WordPress estoy usando ambas the_permalink()y get_permalink()funciones, pero no puedo obtener ninguna diferencia en la salida de ambas funciones. ¿Cuál es la diferencia entre ambas funciones?

Respuestas:


16

the_permalink Echos el enlace permanente de la publicación actual a la interfaz.

get_permalinksin embargo, lo devuelve como una variable, pero no lo repite. También puede pasarle una ID de publicación si desea el enlace permanente de otra publicación.

the_permalink es equivalente a:

echo get_permalink();

Lo cual está muy cerca de lo que realmente hace. Esta es la implementación de the_permalink:

function the_permalink() {
    echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}

3
Significa que todas las funciones como the_ID () y get_ID () también tienen las mismas diferencias. Lo siento, pero soy nuevo en WordPress, es por eso que pregunto
AliasgerSW

@AliasgerSW ese es el patrón, hay algunas excepciones, pero en general es así
Nicolai

@AliasgerSW cuando tenga dudas, mire el código. QueryPosts es un gran sitio para buscar el código fuente de las funciones de WordPress.
shea

@ AliasgerSW está hecho por nuestro propio @Rarst
shea

@shea QueryPosts está retirado. : - (\
Soy la persona más estúpida

3

Si observa el Codex de WordPress en esto, verá que get_permalink()está ahí para usar fuera del ciclo. the_permalink()es para usar dentro del bucle. Esa es la forma más fácil de verlo.


podría ser la manera fácil de verlo, pero no muy completa
Nicolai

Por supuesto, la respuesta de @Tom J Nowell ♦ es mucho más concisa. Mucho mejor y bien explicado :-)
Matt Royal

-1

the_permalink()se usa en bucles de publicaciones, como the_title(). Lea más sobre loops en The Loop .

get_permalink()se puede usar en bucles o fuera de los bucles. En los bucles, la función devuelve (no echo) el enlace permanente posterior actual. Pero fuera de los bucles, requiere una identificación de publicación.

Por ejemplo:

echo get_permalink( 1 );

Esto mostrará el enlace permanente de la página actual:

echo get_permalink();

1
en realidad no requiere una identificación fuera del circuito
Nicolai
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.