Come ottenere il vero permalink della pagina iniziale statica?

Ho fatto una domanda molto simile all’inizio di oggi (http://wordpress.stackexchange.com/questions/30392/how-to-get-the-original-post-id-of-a-static-home-page) e ho pensato che ha avuto la risposta, ma ora sembra diversamente.

Se ho un post / pagina con il permalink originale di http://mydomain.com/blog/my-post/ ad esempio, e l’ho impostato come home page statica del blog, non riesco a ottenere il permalink originale di quella pagina quando lo visito, poiché WP restituisce solo il permalink di root ( site_url() essenzialmente) e mi reindirizza lì, poiché ora è impostato come home page.

Come posso recuperare il permalink ORIGINALE? get_option('page_on_front') non funziona perché restituirà solo l’URL radice del blog, come http://mydomain.com/blog/ . Ho bisogno di recuperare il permalink originale inalterato della home page statica attualmente impostata.

Spero sia chiaro … grazie a tutti!

Solutions Collecting From Web of "Come ottenere il vero permalink della pagina iniziale statica?"

Modifica: Wow. Ho scritto male un sacco la prima volta. Spero che nessuno lo abbia letto. Tutto corretto ora. /modificare

Sono andato codice speleologia … 🙂

Versione breve, la soluzione alternativa sarebbe questa:

 < ?php $front_page_id = get_option( 'page_on_front' ); $my_permalink = _get_page_link( $front_page_id ); ?> 

Se cerchi in link-template.php nel core di WordPress, puoi tracciare il percorso che succede. Chiamare the_permalink () porta a get_page_link (), che restituisce il permalink dell’ID post / pagina che lo passi. Tuttavia, uno dei controlli che get_page_link () fa è vedere se l’ID richiesto è attualmente impostato come ‘page_on_front’. Se lo è, un valore statico di ‘/’ viene restituito come permalink. In caso contrario, viene chiamata la funzione _get_page_link (). Notare il carattere di sottolineatura nella parte anteriore della funzione.

Per risolvere il problema, ho passato the_permalink () e get_page_link () e sono andato direttamente a _get_page_link ().

Potrebbe esserci qualche problema di sicurezza o motivo per cui questo comportamento è di default di cui non sono a conoscenza, ma funziona …