Link-uri interne către pagini în PHP?
Care este cea mai bună modalitate de a face link-uri către paginile WordPress cu PHP? Având în vedere că mut pagina de pe un server local pe un server live cu alt URL?
<a href="/wordpress/services" title="Citește mai mult" class="yellowButton">Citește mai mult</a>
Cum ai putea înlocui acest cod cu link-uri PHP către pagina WordPress.
/wordpress/services
Permalink pentru Pagină din $id
Dacă cunoști $id
-ul Paginii, folosește get_permalink()
:
<?php $permalink = get_permalink( $id ); ?>
Permalink pentru Pagină din $slug
Dacă cunoști $slug
-ul Paginii, cum ar fi /about
(inclusiv ierarhia, precum /about/work
), folosește get_page_by_path()
pentru a determina $id
-ul Paginii, apoi folosește get_permalink()
.
<?php
$page_object = get_page_by_path( $slug );
$page_id = $page_object->ID;
$permalink = get_permalink( $page_id );
?>
Permalink pentru Pagină din $title
Dacă cunoști $title
-ul Paginii, cum ar fi "Nume Aleatoriu de Pagină", folosește get_page_by_title()
, apoi folosește get_permalink()
:
<?php
$page_object = get_page_by_title( $title );
$page_id = $page_object->ID;
$permalink = get_permalink( $page_id );
?>

Dacă dorești să introduci manual '/numele-paginilor' poți utiliza funcția home_url('/wordpress/servicii') împreună cu esc_url() pentru a asigura validitatea URL-urilor - aceasta va returna întotdeauna adresa completă a paginii de start ( fie locală, fie live )
<a href="<?php echo esc_url( home_url( '/wordpress/servicii' ) ); ?>"
title="Citește mai mult" class="yellowButton">
Citește mai mult
</a>

Puteți folosi un shortcode pentru a insera numele domeniului în linkul intern și apoi doar adăugați URL-ul paginii la final, de exemplu [domain_name]/nume-pagina.
Adăugați acest cod în fișierul function.php al temei child și este gata de utilizat!
//adaugă shortcode care afișează numele curent al site-ului
function domain_name(){
$currentDomain = "yoursite.com";
return $currentDomain;
}
add_shortcode('domain_name', 'domain_name');
Am testat acest lucru pe mai multe site-uri live și pare să funcționeze perfect.
Sper că acesta este ceea ce căutați!
