Legături interne către pagini în PHP? (WordPress, Pagini, Linkuri)

Josh a intrebat.

Care este cel mai bun mod de a crea legături către paginile WordPress cu PHP? Având în vedere că mut pagina de pe un server local pe un server live la un alt URL?

<a href="/wordpress/services" title="Read More" class="yellowButton">Read more</a> 

Cum ați putea înlocui acest cod cu PHP care face legătura cu pagina WordPress.

/wordpress/services

Comentarii

  • Știu că ar putea părea o întrebare prostească, Dar aș vrea să știu care este cea mai bună soluție pentru a face link-uri către pagini, Faceți link direct către un ID sau către un nume de pagină. Nu înțeleg pagina WordPress Codex. Ar putea cineva să dea un exemplu PHP în acest sens. –  > Por Josh.
  • Ce faceți știi despre pagină? Titlul? ID-ul paginii? Nimic? –  > Por Chip Bennett.
4 răspunsuri
Chip Bennett

Pagina Permalink din $id

Dacă știți pagina $id, utilizați get_permalink():

<?php $permalink = get_permalink( $id ); ?>

Pagina Permalink din $slug

Dacă cunoașteți pagina $slug, cum ar fi /about (inclusiv ierarhia, cum ar fi /about/work), utilizați get_page_by_path() pentru a determina Pagina $id, apoi utilizați get_permalink().

<?php
$page_object = get_page_by_path( $slug );
$page_id = $page_object->ID;
$permalink = get_permalink( $page_id );
?>

Pagina Permalink din $title

Dacă cunoașteți Pagina $title, cum ar fi „Some Random Page Name”, utilizați get_page_by_title(), apoi utilizați get_permalink():

<?php
$page_object = get_page_by_title( $title );
$page_id = $page_object->ID;
$permalink = get_permalink( $page_id );
?>

Arttyor

Doriți să le găsiți după nume? Dacă da, atunci puteți

<a href="<?php echo site_url('/services'); ?>"> Services </a>

WP Vlad

Dacă doriți să codificați „/page-names” puteți folosi home_url(‘/wordpress/servicii’) funcția cu esc_url() pentru igienizarea URL-urilor – vă va obține întotdeauna url-ul complet al paginii de start ( local sau live )

<a href="<?php echo esc_url( home_url( '/wordpress/services' ) ); ?>"
 title="Read More" class="yellowButton">
 Read more
</a> 

G Ritchie

Puteți utiliza un shortcode pentru a insera numele domeniului în link-ul intern și apoi doar adăugați url-ul paginii la sfârșit, de exemplu [nume_domeniu]/numele-paginii.

Adăugați acest cod în function.php al temei copilului dvs. și este gata de plecare!

//add shortcode that displays current site name
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 se pare că funcționează perfect.

Sper că acest lucru este ceea ce căutați!