Perbedaan antara fungsi the_permalink () dan get_permalink ()


9

Di WordPress saya menggunakan keduanya the_permalink()dan get_permalink()fungsinya, tetapi saya tidak bisa mendapatkan perbedaan apa pun dalam output dari kedua fungsi tersebut. Apa perbedaan antara kedua fungsi?

Jawaban:


16

the_permalink gema keluar tautan tautan pos saat ini ke frontend.

get_permalinkNamun mengembalikannya sebagai variabel, tetapi tidak menggemakannya. Anda juga dapat mengirimkan ID kiriman kepadanya jika Anda menginginkan tautan permanen kiriman lain.

the_permalink setara dengan:

echo get_permalink();

Yang sangat dekat dengan apa yang sebenarnya dilakukannya. Ini adalah implementasi dari the_permalink:

function the_permalink() {
    echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}

3
Ini berarti semua fungsi seperti the_ID () dan get_ID () juga memiliki perbedaan yang sama seperti ini. Maaf tapi saya baru di wordpress itu sebabnya bertanya
AliasgerSW

@LiasgerSW itu polanya, ada beberapa pengecualian, tetapi umumnya seperti itu
Nicolai

@LiasgerSW ketika ragu, lihat kodenya. QueryPosts adalah situs yang bagus untuk mencari kode sumber fungsi WordPress.
shea

@ AliasgerSW dibuat oleh @Rarst kita sendiri
shea

@shea QueryPosts sudah pensiun. : - (\
Saya Orang Paling Bodoh

3

Jika Anda melihat Codex WordPress tentang ini, Anda akan melihat bahwa get_permalink()ada untuk digunakan di luar loop. the_permalink()untuk digunakan dalam loop. Itu cara termudah untuk melihatnya.


mungkin cara mudah untuk melihatnya, tetapi bukan yang sangat lengkap
Nicolai

Yang pasti, @Tom J Nowell ♦ jawabannya jauh lebih ringkas. Jauh lebih baik dan dijelaskan dengan baik :-)
Matt Royal

-1

the_permalink()digunakan dalam loop posting, seperti the_title(). Baca lebih lanjut tentang loop di The Loop .

get_permalink()dapat digunakan dalam loop atau di luar loop. Dalam loop, fungsi mengembalikan (bukan gema) pos permalink saat ini. Tetapi di luar loop, itu membutuhkan ID pos.

Sebagai contoh:

echo get_permalink( 1 );

Ini akan menampilkan permalink halaman saat ini:

echo get_permalink();

1
sebenarnya itu tidak memerlukan ID di luar loop
Nicolai
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.