get_page_link( int|WP_Post $post = false, bool $leavename = false, bool $sample = false )
Retourne le permalien de la page actuelle ou d'une page par son id.
Paramètres
$post(int|WP_Post)optionnelId ou objet de la page. Par défaut utilise la global $post.
Valeur par défaut : false
$leavename(bool)optionnelPour garder le nom de la page.
Valeur par défaut : false
$sample(bool)optionnelSi le lien doit être traité comme un simple permalien.
Valeur par défaut : false
Retourne
(string) Le permalien de la page.
Déclaration et structure de la fonction get_page_link()
get_page_link() est déclarée dans le fichier wp-includes/link-template.php à la ligne 391 :
function get_page_link( $post = false, $leavename = false, $sample = false ) {
$post = get_post( $post );
if ( 'page' === get_option( 'show_on_front' ) && (int) get_option( 'page_on_front' ) === $post->ID ) {
$link = home_url( '/' );
} else {
$link = _get_page_link( $post, $leavename, $sample );
}
/**
* Filters the permalink for a page.
*
* @since 1.5.0
*
* @param string $link The page's permalink.
* @param int $post_id The ID of the page.
* @param bool $sample Is it a sample permalink.
*/
return apply_filters( 'page_link', $link, $post->ID, $sample );
}
Fonctions utilisées par get_page_link()
home_url()Retourne l'url de la page d'accueil du site actuel.
_get_page_link()Retourne le permalien d'une page.
apply_filters()Appel les fonctions qui ont été attaché à un filtre (hook).
get_option()Retourne une valeur d'option en fonction de son nom.
get_post()Retourne les données d'un poste en passant l'id ou l'objet d'un poste.
Hook utilisé par get_page_link()
page_linkFiltre le permalien d'une page.
Où est utilisée la fonction get_page_link()
dans le CMS WordPress
Exemple
echo '<a href="'.esc_url( get_page_link( 40 ) ).'">Map</a>';
$page_for_posts = get_option( 'page_for_posts' );
echo '<a href="'.esc_url( get_page_link( $page_for_posts ) ).'">Page des postes</a>';
Sources
Codex WordPress : get_page_link()
Autres fonctions dans le même fichier : wp-includes/link-template.php