web-dev-qa-db-ja.com

_permalink()とget_permalink()関数の違い

WordPressではthe_permalink()get_permalink()の両方の関数を使用していますが、両方の関数の出力に違いはありません。両方の機能の違いは何ですか?

9
AliasgerSW

the_permalinkはフロントエンドへの現在の投稿のパーマリンクをエコーアウトします。

get_permalinkはそれを変数として返しますが、エコーアウトしません。別の投稿のパーマリンクが必要な場合は、投稿IDを渡すこともできます。

the_permalinkは以下と同等です。

echo get_permalink();

これは実際に行っていることに非常に近いです。これはthe_permalinkの実装です。

function the_permalink() {
    echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}
16
Tom J Nowell

これで WordPress Codex を見ると、get_permalink()がループ外での使用のためにあることがわかります。 the_permalink()はループ内で使用されます。それを見るのが一番簡単な方法です。

1
Matt Royal