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?

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() ) );
}

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.


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();

1
Eigentlich braucht es keine ID außerhalb der Schleife
— Nicolai
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.