Unterschied zwischen der Funktion_permalink () und get_permalink ()

9

In WordPress verwende ich beide the_permalink()und get_permalink()Funktionen, aber ich kann keinen Unterschied in der Ausgabe beider Funktionen feststellen. Was ist der Unterschied zwischen beiden Funktionen?

AliasgerSW
quelle

Antworten:

16

the_permalink gibt den Permalink des aktuellen Beitrags zum Frontend wieder.

get_permalinkGibt es jedoch als Variable zurück, gibt es jedoch nicht wieder. Sie können ihm auch eine Post-ID übergeben, wenn Sie den Permalink eines anderen Posts möchten.

the_permalink ist äquivalent zu:

echo get_permalink();

Welches ist sehr nah an dem, was es tatsächlich tut. Dies ist die Implementierung von the_permalink:

function the_permalink() {
    echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}
Tom J Nowell
quelle
3
Dies bedeutet, dass alle Funktionen wie the_ID () und get_ID () dieselben Unterschiede aufweisen. Tut mir leid, aber ich bin neu in WordPress, deshalb
frage
@ AliasgerSW das ist das Muster, es gibt einige Ausnahmen, aber im Allgemeinen ist es so
Nicolai
@AliasgerSW Schauen Sie sich im Zweifelsfall den Code an. QueryPosts ist eine großartige Website, um den Quellcode von WordPress-Funktionen nachzuschlagen .
Shea
@ AliasgerSW es ​​ist von unserem eigenen @Rarst
Shea
@shea QueryPosts ist im Ruhestand. : - (\
Ich bin die dümmste Person
3

Wenn Sie sich den WordPress-Codex dazu ansehen, werden Sie sehen, dass er get_permalink()außerhalb der Schleife verwendet werden kann. the_permalink()ist für die Verwendung innerhalb der Schleife. Das ist der einfachste Weg, es zu betrachten.

Matt Royal
quelle
Vielleicht ist es die einfache Art, es zu betrachten, aber keine sehr vollständige
Nicolai
Natürlich ist die Antwort von @Tom J Nowell ♦ viel prägnanter. Viel besser und gut erklärt :-)
Matt Royal
-1

the_permalink()wird in Posts-Loops verwendet, wie z the_title(). Weitere Informationen zu Loops finden Sie in The Loop .

get_permalink()kann in Schleifen oder außerhalb der Schleifen verwendet werden. In den Schleifen gibt die Funktion den aktuellen Post-Permalink zurück (kein Echo). Außerhalb von Schleifen ist jedoch eine Post-ID erforderlich.

Zum Beispiel:

echo get_permalink( 1 );

Dadurch wird der aktuelle Seitenpermalink angezeigt:

echo get_permalink();
Ehsaan
quelle
1
Eigentlich braucht es keine ID außerhalb der Schleife
Nicolai