Cum obții URL-ul unei pagini după ID-ul acesteia?

12 mar. 2015, 18:23:36
Vizualizări: 39.2K
Voturi: 6

Am încercat să folosesc get_page_link('page-id') și get_permalink('page-id') dar a apărut eroarea de mai jos.

Fatal error: Call to a member function get_page_permastruct() on null in ...

Cum pot obține URL-ul unei pagini cunoscând doar ID-ul acesteia?

3
Comentarii

Scrii așa cu 'page-id'? Trebuie să transmiți un ID real și ar trebui să funcționeze. get_permalink(4); sau o variabilă cu ID-ul get_permalink($id);

jzatt jzatt
12 mar. 2015 18:29:03

da, știu. Am scris 'page-id' ca exemplu. Problema este că nu funcționează nici cu un ID de pagină existent. Am încercat și într-o instalare fresh de WP.

Maverick Maverick
12 mar. 2015 18:32:45

Bine, nu se știe niciodată, așa că am crezut că măcar să întreb! :)

jzatt jzatt
13 mar. 2015 11:49:17
Toate răspunsurile la întrebare 2
0
12

Probabil primiți acea eroare deoarece WordPress nu a încărcat încă variabila globală $wp_rewrite dintr-un anumit motiv. Fie ceva a dezactivat-o, fie încercați să rulați acele funcții înainte ca WordPress să aibă șansa să o încarce.

Dacă încercați să faceți acest lucru într-un plugin sau în fișierul functions.php al temei, asigurați-vă că sunteți în interiorul unei funcții care este conectată la after_setup_theme sau un hook care rulează după un anumit timp. De exemplu:

function get_url_of_page_id_165() {
    return get_permalink( 165 );
}
add_action( 'after_setup_theme', 'get_url_of_page_id_165' );
12 mar. 2015 18:42:59
2
<?php
$booking_url = get_permalink('15551'); // Obține URL-ul permanent al paginii cu ID-ul 15551
echo $booking_url; // Afișează URL-ul rezervării
?>
26 oct. 2021 07:00:16
Comentarii

OP a spus că a încercat deja get_page_link și get_permalink și nu a funcționat. Deci cred că întrebarea se referă mai degrabă la explicarea mesajului de eroare, nu la care API să apelezi.

Rup Rup
26 oct. 2021 11:21:45

Am folosit asta. Funcționează perfect, nu este nevoie să creezi nicio funcție.

chirag p chirag p
4 oct. 2022 16:31:02