Różnica między funkcjami the_permalink () i get_permalink ()


9

W WordPress używam obu the_permalink()i get_permalink()funkcji, ale nie mogę uzyskać żadnej różnicy w wydajności obu funkcji. Jaka jest różnica między obiema funkcjami?

Odpowiedzi:


16

the_permalink wysyła echo bezpośredniego linku bieżącego postu do interfejsu.

get_permalinkzwraca jednak jako zmienną, ale nie echa. Możesz także przekazać identyfikator posta, jeśli chcesz mieć bezpośredni link do innego postu.

the_permalink jest równa:

echo get_permalink();

Co jest bardzo zbliżone do tego, co faktycznie robi. Jest to implementacja the_permalink:

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

3
Oznacza to, że wszystkie funkcje, takie jak the_ID () i get_ID (), również mają takie same różnice. Przepraszam, ale jestem nowy w wordpress, dlatego pytam
AliasgerSW

@AliasgerSW to jest wzorzec, są pewne wyjątki, ale ogólnie tak jest
Nicolai

@AliasgerSW w razie wątpliwości spójrz na kod. QueryPosts to świetna strona do wyszukiwania kodu źródłowego funkcji WordPress.
shea

@ AliasgerSW jest wykonany przez nasz własny @Rarst
shea

@shea QueryPosts jest wycofany. : - (\
Jestem najbardziej głupią osobą

3

Jeśli spojrzysz na kodeks WordPress na tej stronie, zobaczysz, że get_permalink()można go używać poza pętlą. the_permalink()jest przeznaczony do użycia w pętli. To najłatwiejszy sposób na to spojrzeć.


może to być łatwy sposób, aby na to spojrzeć, ale
niezupełnie

Na pewno odpowiedź @Tom J Nowell ♦ jest znacznie bardziej zwięzła. Znacznie lepiej i dobrze wyjaśnione :-)
Matt Royal

-1

the_permalink()jest używany w pętlach postów, takich jak the_title(). Przeczytaj więcej o pętlach w The Loop .

get_permalink()może być używany w pętlach lub poza nimi. W pętlach funkcja zwraca (nie echo) bieżący bezpośredni link do postu. Ale poza pętlami wymaga identyfikatora postu.

Na przykład:

echo get_permalink( 1 );

Spowoduje to wyświetlenie bezpośredniego linku do bieżącej strony:

echo get_permalink();

1
w rzeczywistości nie wymaga identyfikatora poza pętlą
Nicolai
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.