Recupera il permalink completo per il post o l'ID del post corrente.

Parametri

$post

(int|WP_Post)(Opzionale) ID del post o oggetto del post. L'impostazione predefinita è quella globale $post.

$leavename

(bool)(Opzionale) Se mantenere il nome del post o della pagina.

Valore predefinito: false

Ritorno

(stringa|falso) L'URL del permalink o false se il post non esiste.

Altre informazioni

In un plugin o in un tema, può essere utilizzato già dal punto di vista dell'opzione setup_theme Azione. Qualsiasi uso precedente, incluso plugins_loadedgenera un errore irreversibile.

Si noti che se usato al di fuori di The Loop in una pagina di post (indice, archivio, ecc.) senza il parametro ID, restituirà l'URL dell'ultimo post di The Loop, non il permalink della pagina corrente.

Fonte

File: wp-includes/link-template.php

functionget_permalink($post=0,$leavename=false){$rewritecode=array('%year%','%monthnum%','%day%','%hour%','%minute%','%second%',$leavename?'':'%postname%','%post_id%','%category%','%author%',$leavename?'':'%pagename%',);if(is_object($post)&&isset($post->filter)&&'sample'===$post->filter){$sample=true;}else{$post=get_post($post);$sample=false;}if(empty($post->ID)){returnfalse;}if('page'===$post->post_type){returnget_page_link($post,$leavename,$sample);}elseif('attachment'===$post->post_type){returnget_attachment_link($post,$leavename);}elseif(in_array($post->post_type,get_post_types(array('_builtin'=>false)),true)){returnget_post_permalink($post,$leavename,$sample);}$permalink=get_option('permalink_structure');/**
	 * Filters the permalink structure for a post before token replacement occurs.
	 *
	 * Only applies to posts with post_type of 'post'.
	 *
	 * @since 3.0.0
	 *
	 * @param string  $permalink The site's permalink structure.
	 * @param WP_Post $post      The post in question.
	 * @param bool    $leavename Whether to keep the post name.
	 */$permalink=apply_filters('pre_post_link',$permalink,$post,$leavename);if($permalink&&!wp_force_plain_post_permalink($post)){$category='';if(strpos($permalink,'%category%')!==false){$cats=get_the_category($post->ID);if($cats){$cats=wp_list_sort($cats,array('term_id'=>'ASC',));/**
				 * Filters the category that gets used in the %category% permalink token.
				 *
				 * @since 3.5.0
				 *
				 * @param WP_Term  $cat  The category to use in the permalink.
				 * @param array    $cats Array of all categories (WP_Term objects) associated with the post.
				 * @param WP_Post  $post The post in question.
				 */$category_object=apply_filters('post_link_category',$cats[0],$cats,$post);$category_object=get_term($category_object,'category');$category=$category_object->slug;if($category_object->parent){$category=get_category_parents($category_object->parent,false,'/',true).$category;}}// Show default category in permalinks,// without having to assign it explicitly.if(empty($category)){$default_category=get_term(get_option('default_category'),'category');if($default_category&&!is_wp_error($default_category)){$category=$default_category->slug;}}}$author='';if(strpos($permalink,'%author%')!==false){$authordata=get_userdata($post->post_author);$author=$authordata->user_nicename;}// This is not an API call because the permalink is based on the stored post_date value,// which should be parsed as local time regardless of the default PHP timezone.$date=explode(' ',str_replace(array('-',':'),' ',$post->post_date));$rewritereplace=array($date[0],$date[1],$date[2],$date[3],$date[4],$date[5],$post->post_name,$post->ID,$category,$author,$post->post_name,);$permalink=home_url(str_replace($rewritecode,$rewritereplace,$permalink));$permalink=user_trailingslashit($permalink,'single');}else{// If they're not using the fancy permalink option.$permalink=home_url('?p='.$post->ID);}/**
	 * Filters the permalink for a post.
	 *
	 * Only applies to posts with post_type of 'post'.
	 *
	 * @since 1.5.0
	 *
	 * @param string  $permalink The post's permalink.
	 * @param WP_Post $post      The post in question.
	 * @param bool    $leavename Whether to keep the post name.
	 */returnapply_filters('post_link',$permalink,$post,$leavename);}

Correlato

Utilizzi

Usi Descrizione
wp-includes/link-template.php: wp_force_plain_post_permalink()

Determina se i post devono sempre usare una struttura di permalink semplice.

wp-includes/functions.php: wp_list_sort()

Ordina una lista di oggetti, in base a uno o più argomenti orderby.

wp-includes/category-template.php: get_the_category()

Recupera le categorie dei post.

wp-includes/category-template.php: get_category_parents()

Recupera i genitori delle categorie con un separatore.

wp-includes/pluggable.php: get_userdata()

Recupera le informazioni sull'utente per ID utente.

wp-includes/taxonomy.php: get_term()

Ottiene tutti i dati dei termini dal database in base all'ID del termine.

wp-includes/link-template.php: home_url()

Recupera l'URL del sito corrente in cui è accessibile il front-end.

wp-includes/link-template.php: get_page_link()

Recupera il permalink della pagina corrente o dell'ID della pagina.

wp-includes/link-template.php: get_attachment_link()

Recupera il permalink di un allegato.

wp-includes/link-template.php: get_post_permalink()

Recupera il permalink di un post di un tipo di post personalizzato.

wp-includes/link-template.php: pre_post_link

Filtra la struttura dei permalink di un post prima che avvenga la sostituzione dei token.

wp-includes/link-template.php: post_link_category

Filtra la categoria che viene usata nel token permalink %category%.

wp-includes/link-template.php: post_link

Filtra il permalink di un post.

wp-includes/link-template.php: user_trailingslashit()

Recupera una stringa con barra di separazione, se il sito è impostato per l'aggiunta di barre di separazione.

wp-includes/plugin.php: applica_filtri()

Richiama le funzioni di callback che sono state aggiunte a un gancio per filtri.

wp-includes/option.php: get_option()

Recupera il valore di un'opzione in base al suo nome.

wp-includes/post.php: get_post()

Recupera i dati di un post, dato un ID o un oggetto post.

wp-includes/post.php: get_post_types()

Ottiene un elenco di tutti gli oggetti di tipo post registrati.

wp-includes/load.php: is_wp_error()

Controlla se la variabile data è un errore di WordPress.

Utilizzato da

Usato da Descrizione
wp-includes/sitemaps/providers/class-wp-sitemaps-posts.php: WP_Sitemaps_Posts::get_url_list()

Ottiene un elenco di URL per una sitemap di tipo post.

wp-includes/rest-api/search/class-wp-rest-post-search-handler.php: WP_REST_Post_Search_Handler::prepare_item()

Prepara il risultato della ricerca per un dato ID.

wp-includes/link-template.php: get_privacy_policy_url()

Recupera l'URL della pagina dell'informativa sulla privacy.

wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php: WP_REST_Posts_Controller::prepare_item_for_response()

Prepara l'output di un singolo post per la risposta.

wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php: WP_REST_Posts_Controller::get_item()

Recupera un singolo post.

wp-includes/class-wp-customize-nav-menus.php: WP_Customize_Nav_Menus::ajax_insert_auto_draft_post()

Gestore Ajax per aggiungere un nuovo post autodraft.

wp-includes/link-template.php: wp_get_canonical_url()

Restituisce l'URL canonico di un post.

wp-includes/embed.php: wp_embed_excerpt_more()

Filtra la stringa del link 'more' visualizzato dopo un estratto tagliato.

wp-includes/embed.php: wp_oembed_add_discovery_links()

Aggiunge i collegamenti di scoperta di oEmbed nel sito web.

wp-includes/embed.php: get_post_embed_url()

Recupera l'URL per incorporare un post specifico in un iframe.

wp-includes/embed.php: get_post_embed_html()

Recupera il codice embed per un post specifico.

wp-includes/link-template.php: get_preview_post_link()

Recupera l'URL usato per l'anteprima del post.

wp-includes/customize/class-wp-customize-nav-menu-item-setting.php: WP_Customize_Navu_Menu_Item_Setting::value_as_wp_post_nav_menu_item()

Ottenere il valore emulato in un WP_Post e impostato come voce del nav_menu.

wp-includes/class-wp-customize-nav-menus.php: WP_Customize_Nav_Menus::search_available_items_query()

Esegue le query dei post per la ricerca degli articoli disponibili.

wp-includes/class-wp-customize-nav-menus.php: WP_Customize_Nav_Menus::load_available_items_query()

Esegue le query sul tipo di post e sulla tassonomia per caricare le voci di menu disponibili.

wp-admin/includes/class-wp-posts-list-table.php: WP_Posts_List_Table::handle_row_actions()

Genera e visualizza i link alle azioni delle righe.

wp-admin/includes/upgrade.php: wp_install_maybe_enable_pretty_permalinks()

Forse abilita i permalink carini all'installazione.

wp-admin/includes/dashboard.php: wp_dashboard_recent_posts()

Genera le sezioni Pubblicare presto e Pubblicare di recente.

wp-admin/includes/media.php: get_media_item()

Recupera il modulo HTML per modificare l'allegato dell'immagine.

wp-admin/includes/post.php: get_sample_permalink_html()

Restituisce l'HTML dell'editor di slug dei permalink di esempio.

wp-admin/includes/post.php: get_sample_permalink()

Ottiene un permalink di esempio basato sul nome del post.

wp-admin/includes/class-wp-media-list-table.php: WP_Media_List_Table::_get_row_actions()
wp-admin/includes/class-wp-comments-list-table.php: WP_Comments_List_Table::column_response()
wp-includes/category-template.php: wp_list_categories()

Visualizza o recupera l'elenco HTML delle categorie.

wp-includes/pluggable.php: wp_notify_postauthor()

Notifica a un autore (e/o ad altri) un commento/trackback/pingback su un post.

wp-includes/pluggable.php: wp_notify_moderatore()

Notifica al moderatore del sito un nuovo commento in attesa di approvazione.

wp-includes/general-template.php: wp_get_archives()

Mostra i collegamenti agli archivi in base al tipo e al formato.

wp-includes/deprecated.php: get_boundary_post_rel_link()

Ottiene il link relazionale del post di confine.

wp-includes/deprecated.php: get_parent_post_rel_link()

Ottiene il link relazionale del post genitore.

wp-includes/deprecated.php: previous_post()

Stampa un link al post precedente.

wp-includes/deprecated.php: next_post()

Stampa il link al post successivo.

wp-includes/query.php: wp_old_slug_redirect()

Reindirizza i vecchi slug al permalink corretto.

wp-includes/link-template.php: get_comments_pagenum_link()

Recupera il link al numero di pagina dei commenti.

wp-includes/link-template.php: paginate_commenti_collegamenti()

Visualizza o recupera i link di paginazione per i commenti al post corrente.

wp-includes/link-template.php: get_adjacent_post_link()

Recupera il link al post adiacente.

wp-includes/link-template.php: get_adjacent_post_rel_link()

Recupera il collegamento relazionale del post adiacente.

wp-includes/link-template.php: get_post_type_archive_link()

Recupera il permalink di un archivio di tipo post.

wp-includes/link-template.php: get_post_comments_feed_link()

Recupera il permalink per il feed dei commenti del post.

wp-includes/link-template.php: get_the_permalink()

Recupera il permalink completo per il post o l'ID del post corrente.

wp-includes/link-template.php: get_attachment_link()

Recupera il permalink di un allegato.

wp-includes/deprecated.php: post_permalink()

Recupera il permalink dall'ID del post.

wp-includes/link-template.php: il_permalink()

Visualizza il permalink del post corrente.

wp-includes/admin-bar.php: wp_admin_bar_edit_menu()

Fornisce un link di modifica per i post e i termini.

wp-includes/feed.php: il_permalink_rss()

Visualizza il permalink del post da usare nei feed.

wp-includes/class-walker-page.php: Walker_Page::start_el()

Fornisce l'inizio dell'elemento corrente nell'albero.

wp-includes/post-template.php: _wp_link_page()

Funzione di aiuto per wp_link_pages().

wp-includes/post-template.php: get_the_content()

Recupera il contenuto del post.

wp-includes/post.php: _transition_post_status()

Gancio per gestire le future transizioni dei post a pubblicati.

wp-includes/post.php: wp_insert_post()

Inserisce o aggiorna un post.

wp-includes/canonical.php: redirect_guess_404_permalink()

Tenta di indovinare l'URL corretto per una richiesta 404, in base ai parametri della query.

wp-includes/canonical.php: redirect_canonical()

Reindirizza i link in entrata all'URL corretto in base all'url del sito.

wp-includes/ms-functions.php: get_blog_permalink()

Ottiene il permalink di un post su un altro blog.

wp-includes/nav-menu.php: wp_setup_nav_menu_item()

Decora un oggetto voce di menu con le proprietà condivise della voce di menu di navigazione.

wp-includes/class-wp-xmlrpc-server.php: wp_xmlrpc_server::mw_getPost()

Recupera il post.

wp-includes/class-wp-xmlrpc-server.php: wp_xmlrpc_server::mw_getRecentPosts()

Recupera l'elenco dei post recenti.

wp-includes/class-wp-xmlrpc-server.php: wp_xmlrpc_server::_prepare_page()

Prepara i dati della pagina per restituirli in un oggetto XML-RPC.

wp-includes/class-wp-xmlrpc-server.php: wp_xmlrpc_server::_prepare_post()

Prepara i dati del post per restituirli in un oggetto XML-RPC.

wp-includes/comment-template.php: get_post_reply_link()

Recupera il contenuto HTML del link di risposta al post.

wp-includes/comment-template.php: commento_form()

Emette un modulo completo per i commenti da usare all'interno di un template.

wp-includes/comment-template.php: get_trackback_url()

Recupera l'URL di trackback del post corrente.

wp-includes/comment-template.php: commenti_popup_link()

Mostra il link ai commenti per l'ID del post corrente.

wp-includes/comment-template.php: get_comment_reply_link()

Recupera il contenuto HTML del link di risposta al commento.

wp-includes/comment-template.php: get_comment_link()

Recupera il link a un dato commento.

wp-includes/comment-template.php: get_comments_link()

Recupera il link ai commenti del post corrente.

wp-includes/comment.php: trackback()

Invia un trackback.

wp-includes/comment.php: pingback()

Effettua il pingback dei link trovati in un post.

wp-includes/class-wp-editor.php: _WP_Editors::wp_link_query()

Esegue le query dei post per i collegamenti interni.

Changelog

Versione Descrizione
1.0.0 Introdotto.