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!