The_permalink () ve get_permalink () işlevi arasındaki fark


9

WordPress ben hem kullanıyorum the_permalink()ve get_permalink()işlevleri, ama her iki fonksiyonların çıkışında herhangi bir fark elde edemezsiniz. Her iki işlev arasındaki fark nedir?

Yanıtlar:


16

the_permalink mevcut yazının kalıcı bağlantısını ön uca yansıtır.

get_permalinkancak bunu değişken olarak döndürür, ancak yankılamaz. Başka bir gönderinin kalıcı bağlantısını istiyorsanız bir gönderi kimliğini de iletebilirsiniz.

the_permalink şuna eşittir:

echo get_permalink();

Bu aslında ne yaptığına çok yakın. Bu, aşağıdakilerin uygulanmasıdır the_permalink:

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

3
Bu, the_ID () ve get_ID () gibi tüm işlevlerin de aynı farklara sahip olduğu anlamına gelir. Üzgünüz ama wordpress için
yeniyim

@AliasgerSW bu desen, bazı istisnalar var, ama genellikle bu şekilde
Nicolai

@AliasgerSW şüpheniz olduğunda koda bakın. QueryPosts , WordPress işlevlerinin kaynak kodunu aramak için harika bir sitedir.
shea

@ AliasgerSW bizim kendi tarafından yapıldı @Rarst
shea

@shea QueryPosts kullanımdan kaldırıldı. : - (\
Ben

3

Bu konuda WordPress Codex'a bakarsanız get_permalink(), döngü dışında kullanım için orada olduğunu göreceksiniz . the_permalink()döngü içinde kullanım içindir. Ona bakmanın en kolay yolu bu.


bakmak için kolay bir yol olabilir, ama çok eksiksiz değil
Nicolai

Kesinlikle, @Tom J Nowell ♦ yanıtı çok daha özlü. Çok daha iyi ve iyi açıkladı :-)
Matt Royal 13

-1

the_permalink()gibi mesaj döngülerinde kullanılır the_title(). The Loop'ta döngüler hakkında daha fazla bilgi edinin .

get_permalink()ilmeklerde veya ilmeklerin dışında kullanılabilir. Döngülerde, işlev geçerli yazı kalıcı bağlantısını döndürür (eko değil). Ancak döngülerin dışında bir posta kimliği gerektirir.

Örneğin:

echo get_permalink( 1 );

Bu, geçerli sayfa kalıcı bağlantısını görüntüler:

echo get_permalink();

1
aslında döngü dışında bir kimlik gerektirmez
Nicolai
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.