WordPressではthe_permalink()とget_permalink()関数の両方を使用していますが、両方の関数の出力に違いはありません。両方の機能の違いは何ですか?
WordPressではthe_permalink()とget_permalink()関数の両方を使用していますが、両方の関数の出力に違いはありません。両方の機能の違いは何ですか?
回答:
the_permalink 現在の投稿のパーマリンクをフロントエンドにエコーします。
get_permalinkただし、変数として返しますが、エコー出力はしません。別の投稿のパーマリンクが必要な場合は、投稿IDを渡すこともできます。
the_permalink 以下と同等です。
echo get_permalink();
これは実際に行うことと非常に近いものです。これはの実装ですthe_permalink:
function the_permalink() {
echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}
これに関するWordPress Codexを見るとget_permalink()、ループの外で使用するためにあることがわかります。the_permalink()ループ内で使用するためのものです。それはそれを見る最も簡単な方法です。
the_permalink()のような投稿ループで使用されますthe_title()。ループの詳細については、The Loopを参照してください。
get_permalink()ループ内またはループ外で使用できます。ループでは、関数は現在のポストパーマリンクを(エコーではなく)返します。しかし、ループの外では、投稿IDが必要です。
例えば:
echo get_permalink( 1 );
これにより、現在のページのパーマリンクが表示されます。
echo get_permalink();