Link Interni alle Pagine in PHP
Qual è il modo migliore per creare link alle pagine WordPress con PHP? Considerando che sposto la pagina da un server locale a un server live con un URL diverso?
<a href="/wordpress/services" title="Leggi di più" class="yellowButton">Leggi di più</a>
Come si potrebbe sostituire questo codice con un collegamento PHP alla pagina WordPress.
/wordpress/services
Permalink della Pagina da $id
Se conosci l'$id
della Pagina, utilizza get_permalink()
:
<?php $permalink = get_permalink( $id ); ?>
Permalink della Pagina da $slug
Se conosci lo $slug
della Pagina, come /about
(includendo la gerarchia, come /about/work
), usa get_page_by_path()
per determinare l'$id
della Pagina, quindi utilizza get_permalink()
.
<?php
$page_object = get_page_by_path( $slug );
$page_id = $page_object->ID;
$permalink = get_permalink( $page_id );
?>
Permalink della Pagina da $title
Se conosci il $title
della Pagina, come "Nome Casuale della Pagina", usa get_page_by_title()
, quindi utilizza get_permalink()
:
<?php
$page_object = get_page_by_title( $title );
$page_id = $page_object->ID;
$permalink = get_permalink( $page_id );
?>

Se vuoi hardcodare '/nomi-pagina' puoi usare la funzione home_url('/wordpress/servizi') con esc_url() per sanitizzare gli URL - ti restituirà sempre l'URL completo della homepage (locale o live)
<a href="<?php echo esc_url( home_url( '/wordpress/servizi' ) ); ?>"
title="Leggi di più" class="yellowButton">
Leggi di più
</a>

Puoi utilizzare uno shortcode per inserire il nome del dominio nel link interno e poi semplicemente aggiungere l'URL della pagina alla fine, es. [domain_name]/nome-pagina.
Aggiungi questo codice nel file function.php del tuo child theme e sarà pronto per l'uso!
//aggiungi shortcode che visualizza il nome del sito corrente
function domain_name(){
$currentDomain = "tuosito.com";
return $currentDomain;
}
add_shortcode('domain_name', 'domain_name');
Ho testato questo codice su diversi siti live e sembra funzionare perfettamente.
Spero che sia quello che stavi cercando!
